所以我问了这个 题 关于如何查找包含特定字符的目录。
现在我想把这个角色改成别的东西(不是整个名字只是一个角色)
例:
find "a"
aaa
bab
replace with "c"
ccc
bcb
我怎么做?
这是我的代码
read -p "find what character: " findwhat
find . -name "*$findwhat*" -type d -print
所以我问了这个 题 关于如何查找包含特定字符的目录。
现在我想把这个角色改成别的东西(不是整个名字只是一个角色)
例:
find "a"
aaa
bab
replace with "c"
ccc
bcb
我怎么做?
这是我的代码
read -p "find what character: " findwhat
find . -name "*$findwhat*" -type d -print
Answers:
一种方法是使用 rename
(又名 prename
)。取代 _
同 -
:
rename 's/_/-/g' dirname
(该 g
替换所有出现的事件。如果您只想替换一次,请省略它)
将此与您的相结合 find
声明:
find . -name "*$findwhat*" -type d -execdir rename "s/$findwhat/$replacewith/g" {} \;
您可能需要对其进行修改以使变量替换正常工作。
注意: {}
告诉 -execdir/-exec
在命令中插入文件名的位置;该 ;
告诉它命令的结束 - 你需要用它来逃避它 \
因为否则shell会将其视为命令分隔符。
{}
告诉 -execdir/-exec
在命令中插入文件名的位置;该 ;
告诉它命令的结束 - 你需要用它来逃避它 \
因为否则shell会将其视为命令分隔符。