我想使用粘贴命令合并多个 txt 文件,并且我希望每个 txt 文件的名称作为新文件的一部分。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 ....
答案1
最简单的方法可能是将操作分为两个步骤,如下所示(\t
根据文件调整 的数量):
echo 0* | sed 's/ /\t\t\t\t/g' > header.txt | paste 0* > data.txt | cat header.txt data.txt > final.txt
笔记:我假设所有文件都以 0 开头...你可能需要更改它
答案2
如果“多个”不算太多,你可以
for i in *.txt ; do
echo "$i" >>newfile
cat "$i" >>newfile
done