Cat 所有文件并在字符前添加标签作为文件名

chi*_*tra 2 linux awk sed cat

大家好,我有seevral文件,例如

FILE1
>content
AGGAGAjg
GAUGAUGUG
AAG
FILE2
>Againontent
HDHDIHD
DHHDDHK
DH
Run Code Online (Sandbox Code Playgroud)

我想将所有这些文件归为一个独特的使用 cat FILE* >> Unique_file

还要>在每个文件中的之前添加文件名。

那么内容Unique_file将是:

>FILE1_content
AGGAGAjg
GAUGAUGUG
AAG
>FILE2_Againontent
HDHDIHD
DHHDDHK
DH
Run Code Online (Sandbox Code Playgroud)

Rav*_*h13 5

你能不能试试以下。用 GNU `awk 编写和测试。

awk 'FNR==1{sub(/^>/,"&"FILENAME"_")} 1' file1 file2
Run Code Online (Sandbox Code Playgroud)

说明:检查FNR==1每个文件的第一行是否为真的条件。然后用 > 替换开始 > 和当前文件名,并_ 在当前行中添加 a。1 将打印所有其余的行。

注意:您可以将多个文件传递给awk,它能够读取多个文件。