Unix
如何根據文件名將文件與 unix cat 命令合併,然後重命名?
我在一個目錄中有一堆 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