我想要一个合并文件(一行)与文件名在开始行。
‘猫’对文件和'basename -a‘进行合并会给出文件,但我不知道如何同时获得两者?
$ echo "content1" > f1.txt
$ echo "content2" > f2.txt
$ cat f*.txt > all.txt
$ cat all.txt
content1
content2
$ basename -a f*.txt
f1.txt
f2.txt
Would like this result :
$ cat all.txt
f1.txt content1
f2.txt content2发布于 2019-05-11 18:37:28
只需使用grep -H。更改分隔符的Post进程:
$ for i in 1 2; do echo content$i > f$i.txt; done
$ grep -H . *.txt
f1.txt:content1
f2.txt:content2
$ grep -H . *.txt | sed 's/:/ /'
f1.txt content1
f2.txt content2或,
$ awk '{printf "%s\t%s\n", FILENAME, $0}' *.txt
f1.txt content1
f2.txt content2https://stackoverflow.com/questions/56091301
复制相似问题