У меня есть два текстовых файла, каждый из которых содержит информацию построчно, например, что
file1.txt file2.txt
---------- ---------
linef11 linef21
linef12 linef22
linef13 linef23
. .
. .
. .
Я хотел бы объединить эти файлы строки за строкой, используя скрипт bash, чтобы получить:
fileresult.txt
--------------
linef11 linef21
linef12 linef22
linef13 linef23
. .
. .
. .
Как это можно сделать в Bash?
paste -d "\n" * > results.txt
paste
разделит каждый столбец вкладкой, если вы не переопределите эту-d
опцию, чтобы вы могли использовать что-то вродеawk
,sed
и т. д. ... для форматирования каждой строки. Пример:paste file1.txt file2.txt | awk '{printf "%-61s | %s\n", $1,$2}'
... это имитируетdiff --side-by-side
вывод)paste -d ""
объединить линии без разделителей, пробелвот не-вставить методы
AWK
удар
источник
Попробуйте следующее.
источник
Проверьте
возможно, сопровождаемый некоторой командой как
untabify
илиtabs2spaces
источник