0

我有一个文件夹,里面有很多文件夹和文件。我想做一个查找和替换:

  • 之前:“我的文件夹”。
  • 之后:''(空白)

这是我尝试过的(尽管没有用)

find ./ -type f -exec sed -i ‘s/my_folder.//’ {} \;

这里正确的命令是什么?

4

1 回答 1

0

您正在寻找的命令有点像这样:

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

希望这可以帮助

于 2013-03-25T04:52:11.197 回答