У меня есть текстовый файл, имеющий имя как это:
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
Предложите, Как я могу сделать это?
С уважением
Если у Вас есть имена в текстовом файле (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
Попытка:
ls *txt | paste -s -d, > newFile.txt