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

734
PJ Brunet

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

one two three ... 

в:

one one two two  three three ... 

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

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

2 ответа на вопрос

3
hlovdal

Вам нужна 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` Jean-Karim Bockstael 8 лет назад 0
0
RedGrittyBrick
$ 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 13 лет назад 0

Похожие вопросы