我想将多个文本文件连接到终端中的一个大文件。我知道我可以使用cat命令来做到这一点。但是,我希望每个文件的文件名在该文件的“数据转储”之前。有人知道怎么做吗?
我目前拥有的:
file1.txt = bluemoongoodbeer
file2.txt = awesomepossum
file3.txt = hownowbrowncow
cat file1.txt file2.txt file3.txt
期望的输出:
file1
bluemoongoodbeer
file2
awesomepossum
file3
hownowbrowncow
如果你想要的结果与你想要的输出格式相同,你可以尝试:
for file in `ls file{1..3}.txt`; \
do echo $file | cut -d '.' -f 1; \
cat $file ; done;
结果:
file1
bluemoongoodbeer
file2
awesomepossum
file3
hownowbrowncow
你可以在剪切之前和之后加上echo -e,这样你就有了行与行之间的间距:
$ for file in `ls file{1..3}.txt`; do echo $file | cut -d '.' -f 1; echo -e; cat $file; echo -e ; done;
结果:
file1
bluemoongoodbeer
file2
awesomepossum
file3
hownowbrowncow
我做了一个组合:
Cat /sharedpath/{unique1,unique2,unique3}/filename >新文件
and
Tail -n +1 file1 file2
到这个:
Tail -n +1 /sharedpath/{folder1,folder2,…,folder_n}/文件。扩展名| cat > /sharedpath/newfile
结果是一个newfile,其中包含{}括号中每个子文件夹(unique1,unique2..)的内容,以子文件夹名称分隔。
注意unique1 = folder1
在我的例子中是文件。扩展名在所有子文件夹中具有相同的名称。