объединение n файлов с помощью команды cat

Кажется, работает для меня таким образом:

sed '/foo/{/bar/!d;}' my_file
0
25.08.2015, 02:59
3 ответа

Вы можете использовать '@', например:

$ files=( /tmp/a "/tmp/a file from windows" /tmp/myfile )
$ cat "${files[@]}" > newfile

'@' расширяет все содержимое массива. Он похож на * , за исключением того, что он обрабатывает каждый элемент по отдельности, тогда как * объединяет все элементы как один.

4
28.01.2020, 02:17

Это тривиально с zsh .

% echo blah > a; echo asdf > b; echo harfjr > c;
% filenames=(a b c d e)
% print -l $filenames[1,3]
a
b
c
% cat $filenames[1,3]
blah
asdf
harfjr
% cat $filenames[1,3] > anewfile
% cat anewfile
blah
asdf
harfjr
% somenum=2   
% print -l $filenames[1,$somenum]
a
b
% 

Если оболочка на самом деле bash или ksh э-э, не знаю.

0
28.01.2020, 02:17

Самый простой способ сделать это:

$ for i in {1..3}; do cat inputfile$i>>outputfile; done
1
28.01.2020, 02:17

Теги

Похожие вопросы