У меня есть четыре файла (file_one
до file_four
), содержимое этих файлов не очень важно. Я хочу передать три из этих файлов команде (т. Е. paste
или awk
) в определенном порядке, определенном массивом.
Мой массив order=(two one four)
.
Я надеялся использовать массив для передачи нужных файлов в команду в качестве входных данных так же, как вы могли бы использовать *
(т.е. paste file_* > combined_file
);
paste file_${order[@]} > combined_file
paste file_"${order[@]}" > combined_file
paste file_"${order[*]}" > combined_file
paste file_"{${order[@]}}" > combined_file
paste file_{"${order[@]}"} > combined_file
Я просмотрел разные страницы ( 1 , 2 , 3 или 4 ), но не могу их найти работать. loop
через файлы не работает в случае paste
или awk
. Я хочу передать файлы сразу команде. Видя, что мои UNIX
знания ограничены, я, возможно, неправильно истолковал некоторые решения / ответы. Из того, что я понимаю из этого ответа , могут возникнуть некоторые проблемы с тем, как массивы изначально разрабатывались в bash
.
Желаемый результат:
paste file_two file_one file_four > combined_file