如何更改文件夹cygwin中的文件名?

时间:2014-03-27 10:37:14

标签: bash shell scripting cygwin sh

我有一个包含常用文件的文件夹:

#1_name.apk
#2_name2.apk
#3_name_name_name.apk

我想更改所有文件的名称,只删除 起始#1_ 我试着这样做:

for file in *; do echo $file | mv ./$file $(awk -F '[/_]' '{print $2}'); done

问题是我在_这样的文件名中有多个#3_name_name.apk

我的问题是,如何仅拆分开始标记?

感谢.....

2 个答案:

答案 0 :(得分:1)

使用Shell Parameter Expansion

for file in *; do echo $file; mv "$file" "${file:3}"; done

这假定需要删除文件名中的3个前导字符。

答案 1 :(得分:0)

您可以使用BASH的字符串操作:

s='#3_name_name_name.apk'
echo "${s#*_}"
name_name_name.apk