我有一个文件夹,里面有很多文件夹和文件。我想做一个查找和替换:
- 之前:“我的文件夹”。
- 之后:''(空白)
这是我尝试过的(尽管没有用)
find ./ -type f -exec sed -i ‘s/my_folder.//’ {} \;
这里正确的命令是什么?
您正在寻找的命令有点像这样:
find ./ -type f -exec sed -e "/my_folder./s/my_folder.//" {} \;
但是您将得到的只是打印在屏幕上的输出,而不是写回文件中。为了完成这样的事情,我认为你应该有不止一行代码,但“意见”再次成为这里的关键字。这样的事情可能会有所帮助
for file in $(find ./ -type -f)
do
cat ${file} | sed -e "/my_folder./s/my_folder.//" > MyTempFile
cat MyTempFile > ${file} # use this instead of 'mv' command to preserve file perms
done
希望这可以帮助