Я хочу объединить несколько txt-файлов с помощью команды вставки, и я хочу названия каждого txt файла как часть newfile. Txt-файлы (т.е. 01.txt) похожи на это:
X936 X937 X938
Y516 83 79 70
Y517 78 70 75
Y518 82 81 75
Y519 76 80 79
Y520 78 78 77
Так сначала я пытаюсь добавить имя файла в первой строке каждого txt, как это
01.txt
X936 X937 X938
Y516 83 79 70
Y517 78 70 75
Y518 82 81 75
Y519 76 80 79
Y520 78 78 77
но не знайте, что практическое руководство делает это. Позже я хочу объединить все файлы в одном использовании таблицы
paste *.txt > newfile
как это
01.txt 02.txt ....
X936 X937 X938 X936 X937 X938 ....
Y516 83 79 70 Y516 83 79 70 ....
Y517 78 70 75 Y517 78 70 75 ....
Y518 82 81 75 Y518 82 81 75 ....
Y519 76 80 79 Y519 76 80 79 ....
Y520 78 78 77 Y520 78 78 77 ....
Самый простой способ, вероятно, состоит в том, чтобы выполнить операцию в два этапа, что-то вроде этого (отрегулируйте количество \t
для вашего файла):
echo 0* | sed 's/ /\t\t\t\t/g' > header.txt | paste 0* > data.txt | cat header.txt data.txt > final.txt
[ 115] Примечание: Я предполагаю, что все файлы начинаются с 0 ... вы можете изменить это
Если «множественный» не слишком много, вы могли бы
for i in *.txt ; do
echo "$i" >>newfile
cat "$i" >>newfile
done