我试图将不同子文件夹中的几千个文件连接到一个文件中,并将每个连接文件的名称插入为第一列,以便我知道每个数据行来自哪个文件。本质上是从这样的事情开始:
编辑:我忽略了每个文件都有相同的标头,因此我相应地更新了请求。
Folder1
file1.txt
A B C
123 010 ...
456 020 ...
789 030 ...
Folder2
file2.txt
A B C
abc 100 ...
efg 200 ...
hij 300 ...
Run Code Online (Sandbox Code Playgroud)
并输出:
CombinedFile.txt
A B C
file1 123 010 ...
file1 456 020 ...
file1 789 030 ...
file2 abc 100 ...
file2 efg 200 ...
file2 hij 300 ...
Run Code Online (Sandbox Code Playgroud)
读完这篇文章后,我尝试了以下代码,但最终出现语法错误(抱歉,我对 awk 非常陌生!)
shopt -s globstar
for filename in path/**/*.txt; do
awk '{print FILENAME "\t" $0}' *.txt > CombinedFile.txt …Run Code Online (Sandbox Code Playgroud)