2015-06-02 3 views
0

У меня есть файлы в каталоге и список пар имен файлов, например.Объединить файлы на основе списка пар

list: 
FileA File1 
FileB File2 
FileC File3 

Я хотел бы объединить каждую пару файлов в один файл. Я узнал, что можно объединить все файлы в каталоге, на основе списка, используя эту команду

xargs < list.text cat > merged_file.txt 

Но я не знаю, как это сделать на построчной основе (то есть спаривания файлов), как в моем дело.

Полученные файлы должны называться FileA_File1_merged.txt

+0

Можете ли вы уточнить немного больше? Вы можете прочитать файл списка, в котором перечислены файлы, которые будут объединены в скрипт, а затем имена пользователей с 'cat' с соответствующим упорядочением и хранением в объединенном файле. – phoxis

+0

Какими должны быть имена полученных файлов? – choroba

ответ

1

Читать list файл построчно и cat файлы в объединенном одном:

while read line; do 
     cat $line > "$line.merged" 
done < list 

Внимание результат имя файла будет содержать пробелы и .merged "расширение". Для замены пробелов w/- вы можете использовать замену шаблона bash: ... >"${line/ /-}.merged".

Смежные вопросы