我想连接在名称中共享唯一标识符的文件。
我的文件看起来像这样
A_1.file
A_2.file
A_3.file
B_1.file
B_2.file
B_3.file
等等...
我想要的东西会让他们陷入困境
一份文件
B.file
但实际上我有数百个文件,标识符比“A”或“B”复杂得多。所以只说“cat A * .file> A.file”不起作用,因为它需要手动输入每个序列标识符。所以我想这基本上是我的问题,用共享的唯一标识连接文件。感兴趣的ID首先在文件名中,并用“_”分隔,所以也许有一个很好的正则表达式解决方案。如果这个问题得到解决,我道歉,我发现的一切都要么不同而且过于复杂。我一直在摸索这个问题太久了。
谢谢
您可以使用
awk -F _ 'FNR==1 {out=$1".file"} {print > out}' *_*
这样您就可以避免首先收集标识符并为每个找到的标识符创建命令。
-F _
:field sep
FNR==1
:每个文件的第一行
out=$1".file"
:构造输出文件名