我在一个目录中有一堆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。 如何根据“_”字符之前的文字让猫做到这一点?
像这样的东西会在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