Как повторить каждую строку файла из командной строки Linux?


0

Как сделать файл вроде:

one
two
three
...

в:

one one
two two 
three three
...

Я думаю, что это должно быть возможно с одной простой командой Linux. Если бы у моего редактора были выборки блоков или макросы, я мог бы сделать это легко. Я сейчас использую Джани. Возможно, мне нужно снова переключить редакторы или найти плагин Geany.


Я закончил тем, что установил SlickEdit (оригинальный редактор "E") и записал макрос, чтобы дважды вырезать / вставить текущую строку, перейти к следующей строке, а затем удерживать Ctrl + F12. Если в итоге я не куплю SlickEdit, я буду следить за этими другими ответами для дальнейшего использования, tnx.
Пи Джей Брюнет

Ответы:


3

Вам нужна pasteкоманда:

$ cat > file
one
two
three
four
...
$ paste file file
one     one
two     two
three   three
four    four
...     ...
$

Обратите внимание, что по умолчанию pasteвкладки будут использоваться в качестве разделителей, вы можете переопределить это с помощью -dопции:paste -d ' ' file file > outputfile
Жан-Карим Боксталь

0
$ cat t
ccc
ddd
aaa
bbb

$ perl -p -i -e 's/.*/$& $&/' t

$ cat t
ccc ccc
ddd ddd
aaa aaa
bbb bbb

Я немного поиграл с твоим ответом, похоже, это тоже работает:sed 's/.*/& &/' t
PJ Brunet
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.