我有一堆类型的文件名:
a-1.txt
a-2.txt
a-3.txt
等等。我希望他们成为:
attribute_id
这一切都在unix中。我一直在尝试"重命名"但我无法使用正则表达式。 (我读过有两个版本,我可能有另一个版本)。
答案 0 :(得分:3)
假设您知道如何创建循环来迭代所有文件名(或者您将手动执行此操作),并且对于每个文件,其名称都存储在FILE
中:
mv $FILE ${FILE%%.*}.txt
${parameter%%pattern}
成语为standard shell syntax,用于删除与模式匹配的最长后缀。
答案 1 :(得分:1)
for i in $(ls) ; do mv $i $(echo $i | awk -F '.' '{print $1"."$3}'); done
用于测试将mv
更改为echo
。