对所有文件进行分类,并在一个字符前添加一个标签作为文件名
Cat all files and add a tag as the file name before a character
大家好,我有几个文件,例如
FILE1
>content
AGGAGAjg
GAUGAUGUG
AAG
FILE2
>Againontent
HDHDIHD
DHHDDHK
DH
我想将所有这些文件整合到一个唯一的文件中
使用 cat FILE* >> Unique_file
还要在每个文件的 >
之前添加文件名。
那么 Unique_file
的内容将是:
>FILE1_content
AGGAGAjg
GAUGAUGUG
AAG
>FILE2_Againontent
HDHDIHD
DHHDDHK
DH
能否请您尝试以下。在 GNU `awk.
中编写和测试
awk 'FNR==1{sub(/^>/,"&"FILENAME"_")} 1' file1 file2
说明: 检查条件 FNR==1
每个文件的第一行都为真。然后用 > 代替开始 > 和当前文件名,在当前行中添加 _
。 1 将打印所有其余行。
注意:您可以将多个文件传递给awk
,它能够读取多个文件。
在每个文件上循环并使用 sed:
for fil in *;
do
sed "1s/>/>$fil\_/" $fil >> Unique_file; # On the first line of the file substitute ">" for ">" followed by the file name (fil) and "_"
done
for file in $(ls FILE*); do echo $file >> unique_file; cat $file >> unique_file; done
这将回显文件名并将其附加到输出文件,然后再附加文件本身的内容。
大家好,我有几个文件,例如
FILE1
>content
AGGAGAjg
GAUGAUGUG
AAG
FILE2
>Againontent
HDHDIHD
DHHDDHK
DH
我想将所有这些文件整合到一个唯一的文件中
使用 cat FILE* >> Unique_file
还要在每个文件的 >
之前添加文件名。
那么 Unique_file
的内容将是:
>FILE1_content
AGGAGAjg
GAUGAUGUG
AAG
>FILE2_Againontent
HDHDIHD
DHHDDHK
DH
能否请您尝试以下。在 GNU `awk.
中编写和测试awk 'FNR==1{sub(/^>/,"&"FILENAME"_")} 1' file1 file2
说明: 检查条件 FNR==1
每个文件的第一行都为真。然后用 > 代替开始 > 和当前文件名,在当前行中添加 _
。 1 将打印所有其余行。
注意:您可以将多个文件传递给awk
,它能够读取多个文件。
在每个文件上循环并使用 sed:
for fil in *;
do
sed "1s/>/>$fil\_/" $fil >> Unique_file; # On the first line of the file substitute ">" for ">" followed by the file name (fil) and "_"
done
for file in $(ls FILE*); do echo $file >> unique_file; cat $file >> unique_file; done
这将回显文件名并将其附加到输出文件,然后再附加文件本身的内容。