gpt4 book ai didi

linux - 合并文件并添加文件名和目录

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:00 24 4
gpt4 key购买 nike

我需要合并目录中的文件,并在输出的每一行中包含目录、文件名和行号。我发现了很多关于包含文件名和行号但不包含目录名的有用帖子。 Grep -n 获取行号,我见过一些获取其他部分的查找命令,但我似乎无法将它们全部放在一起。 (我使用 Ubuntu 进行所有数据处理。)

假设在名为“8”的目录中有两个文件。 (我拥有的数据中的每个目录都是一个数字。数据是以这种方式提供的。)

文件1.txt

John
Paul
George
Ringo

文件2.txt

Mick
Keef
Bill
Brian
Charlie

输出应该是这样的:

8:file1.txt:1:John
8:file1.txt:2:Paul
8:file1.txt:3:George
8:file1.txt:4:Ringo
8:file2.txt:1:Mick
8:file2.txt:2:Keef
8:file2.txt:3:Bill
8:file2.txt:4:Brian
8:file2.txt:5:Charlie

分隔符不必是冒号。标签会工作得很好。

非常感谢!

最佳答案

如果它只有一个目录级别,您可以尝试这样的操作。我们进入每个目录,打印每一行及其编号,然后使用 sed 将目录名称附加到前面:

$ for x in `ls`; do
(cd $x ; grep -n . *) | sed -e 's/^/'$x:'/g'
done

1:c.txt:2:B
1:c.txt:3:C
2:a.txt:1:A
2:a.txt:2:B

关于linux - 合并文件并添加文件名和目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40640261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com