我有 200 个文件:cool1.txt、cool2.txt、...、cool100.txt 和 warm1.txt、warm2.txt、...、warm100.txt。
所有文件都有 2 列数据。
我想按如下方式连接 200 个文件以获得 coolwarm1.txt ,coolwarm2.txt,coolwarm100.txt
cat cool1.txt warm1.txt > coolwarm1.txt
cat cool2.txt warm2.txt > coolwarm2.txt
...
cat cool100.txt warm100.txt > coolwarm100.txt
在coolwarm*.txt的每个文件中,我喜欢在连接后添加一个标识符“cool”和“warm”。
例如,coolwarm1.txt 看起来像这样
Input
cool1.txt
S44298 33307
S46800 32286
S55145 29361
warm1.txt
S10253 27473
S24395 33093
Desired output for coolwarm1.txt
S44298 33307 cool
S46800 32286 cool
S55145 29361 cool
S10253 27473 warm
S24395 33093 warm
awk '{print FILENAME, $0}' cool1.txt warm1.txt > coolwarm1.txt
会给出
接近我想要的,但我无法进一步管理。
非常感谢您的帮助。
最佳答案
for n in `seq 1 100`; do cat cool$n.txt | awk '{print $0 " cool"}' > coolwarm$n.txt; cat warm$n.txt | awk '{print $0 " warm"}' >> coolwarm$n.txt; done
关于linux - 如何在循环中连接两个带有标识符的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5471311/