У меня есть куча файлов CSV в таком каталоге, как:
modfinalak_1.csv modfinalal_1.csv modfinalal_2.csv modfinalal_3.csv modfinalar_1.csv modfinalar_2.csv
так что это один или несколько файлов для каждого штата США (AK, AL, AR и т. д.). Как я могу использовать cat, чтобы объединить все файлы для каждого состояния, а затем переименовать файл в имя состояния?
В приведенном выше примере я хочу, чтобы modfinal_1.csv, modfinalal_2.csv и modfinalal_3.csv были объединены и переименованы в al.csv. Как заставить cat делать это на основе текста перед символом '_'?
Что-то вроде этого можно было бы сделать в bash (перечислите все аббревиатуры состояний в списке между in
и ;
):
for s in ak al ar ; do cat *${s}_*.csv > $s.csv ; done
Если у вас есть аббревиатуры состояний в файле states.txt
, строка могла бы выглядеть так:
for s in `cat states.txt` ; do cat *${s}_*.csv > $s.csv ; done