我试图重命名所有文件,find
但在我运行这个之后......
find . -name '*tablet*' -exec sh -c "new=$(echo {} | sed 's/tablet/mobile/') && mv {} $new" \;
我发现我的文件不见了,将其更改echo
为 $new 的值,发现它始终保留第一个文件的名称,因此它基本上将所有文件重命名为具有相同的名称
$ find . -name '*tablet*' -exec sh -c "new=$(echo {} | sed 's/tablet/mobile/') && echo $new" \;
_prev_page.tablet.erb
_prev_page.tablet.erb
_prev_page.tablet.erb
_prev_page.tablet.erb
_prev_page.tablet.erb
_prev_page.tablet.erb
_prev_page.tablet.erb
也尝试更改为export new=...
,相同的结果
为什么价值没有new
变化?