在bash中重命名文件名
Posted
技术标签:
【中文标题】在bash中重命名文件名【英文标题】:Rename a filename in bash 【发布时间】:2020-02-18 00:44:24 【问题描述】:在 bash 中重命名文件类型。所以当脚本运行时,它会接收一个 csv 文件并输出一个 excel 文件。我想要输出与输入文件同名但没有 csv 扩展名的 excel 文件。
我有一个需要帮助的 bash 代码。
bash Log2Time.sh 20190925_psort.csv
filename="$FILE%.*"
mv Log2Timeline_Filtered.xlsx $filename_EventIDs.xlsx
脚本的输入是 20190925_psort.csv 我希望将最终输出文件,即 Log2Timeline_Filtered.xlsx 重命名为 20190925_psort_EventIDs.xlsx
【问题讨论】:
csv 是一种简单的文件类型,我认为公平地说 xlsx 不是。数据的转换不能简单地通过扩展来完成。 Convert xlsx to csv in Linux with command line 可能会给你一些想法。 【参考方案1】:这个怎么样:
csv_file=20190925_psort.csv
touch Log2Timeline_Filtered.xlsx
mv Log2Timeline_Filtered.xlsx "$csv_file%.csv_EventIDs.xlsx"
我只是通过创建一个名为 Log2Timeline_Filtered.xlsx
的新文件来模拟转换。答案使用参数扩展删除了.csv
后缀。在 bash 手册页中查找 parameter expansion 以了解更多信息。
【讨论】:
以上是关于在bash中重命名文件名的主要内容,如果未能解决你的问题,请参考以下文章