我有一个文本文件,其名称如下:
map_leaf_M_BAN.AC.txt
map_leaf_M_BAN.A.txt
map_leaf_M_BAN.C.txt
map_leaf_M_BAR.AC.txt
我需要像这样的文本文件中的名称
map_leaf_M_BAN.AC.txt,map_leaf_M_BAN.A.txt,map_leaf_M_BAN.C.txt,map_leaf_M_BAR.AC.txt
请建议我该如何做?
亲切的问候
答案1
如果您已经在文本文件 ( names.txt
) 中有了名称,则只需将所有换行符替换为逗号:
$ perl -pe 's/\s*\n/,/' names.txt
map_leaf_M_BAN.AC.txt,map_leaf_M_BAN.A.txt,map_leaf_M_BAN.C.txt,map_leaf_M_BAR.AC.txt,$
但是这仍然需要一个最后的换行符,并且最后还有一个逗号。因此,使用以下命令删除这些:
$ perl -pe 's/\s*\n/,/' names.txt | sed 's/,$/\n/'
map_leaf_M_BAN.AC.txt,map_leaf_M_BAN.A.txt,map_leaf_M_BAN.C.txt,map_leaf_M_BAR.AC.txt
并且,要将其保存在新文件中,只需重定向输出:
perl -pe 's/\s*\n/,/' names.txt | sed 's/,$/\n/' > newFile.txt
答案2
尝试:
ls *txt | paste -s -d, > newFile.txt