*
расширяется оболочкой перед запуском команды. Он соответствует существующим файлам. mv
не имеет возможности сопоставления с образцом.
mmv
Эта команда работает примерно так, как вы пытаетесь это сделать. Он не такой мощный, как rename
, но проще.
напр.mmv '*.assembled.*.fastq.gz' '#1_assembled_#2fastq.gz'
Утилита cut
всегда выводит поля в том же порядке, что и при вводе. Невозможно -переупорядочить поля.
Использование awk
вместоcut
:
awk -F, 'BEGIN { OFS=FS } { print $3, $1, $5 }'
Это выводит 3-е, 1-е и 5-е поля, разделенные запятыми -, в указанном порядке. Он использует тот же разделитель полей для вывода, что и для ввода.
Пример:
$ echo "a,b,c,d,e,f" | awk -F, 'BEGIN { OFS=FS } { print $3, $1, $5 }'
c,a,e
Если вы работаете с реальными файлами CSV, которые могут содержать поля в кодировке CSV -, используйте csvcut
из csvkit:
csvcut -c 5,1,3 file.csv
Вы также можете использовать имена столбцов с csvcut
, например.
csvcut -c name,age,address file.csv
См. также csvcut --help
.