小编van*_*007的帖子

bash - 将不同子文件夹中的文件连接到一个文件中,并将每个文件名放在第一列中

我试图将不同子文件夹中的几千个文件连接到一个文件中,并将每个连接文件的名称插入为第一列,以便我知道每个数据行来自哪个文件。本质上是从这样的事情开始:

编辑:我忽略了每个文件都有相同的标头,因此我相应地更新了请求。

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)

bash awk cat txt

1
推荐指数
1
解决办法
107
查看次数

标签 统计

awk ×1

bash ×1

cat ×1

txt ×1