Linux 如何递归删除目录中所有文件中的插入符号(^)字符?
我希望从当前目录中的所有文件中删除所有插入符号字符。请帮助。您必须通过指定Linux 如何递归删除目录中所有文件中的插入符号(^)字符?,linux,bash,shell,Linux,Bash,Shell,我希望从当前目录中的所有文件中删除所有插入符号字符。请帮助。您必须通过指定-i选项告诉sed就地编辑文件,否则sed将写入其标准输出。 您没有将任何文件名传递给sed。使用find的{}语法传递匹配的文件名 find . -type f -exec sed -i 's/\^//g' {} + 请注意,若要将匹配的模式替换为空,则必须将替换的替换部分保留为空。您必须通过指定-i选项来告诉sed就地编辑文件,否则sed将写入其标准输出。 您没有将任何文件名传递给sed。使用find的{}语法传递匹
-i
选项告诉sed
就地编辑文件,否则sed
将写入其标准输出。
您没有将任何文件名传递给sed
。使用find
的{}
语法传递匹配的文件名
find . -type f -exec sed -i 's/\^//g' {} +
请注意,若要将匹配的模式替换为空,则必须将替换的替换部分保留为空。您必须通过指定
-i
选项来告诉sed
就地编辑文件,否则sed
将写入其标准输出。
您没有将任何文件名传递给sed
。使用find
的{}
语法传递匹配的文件名
find . -type f -exec sed -i 's/\^//g' {} +
请注意,要将匹配的模式替换为空,必须将替换的替换部分保留为空。1)这样,sed在stdin上运行并写入stdout。要编辑文件并进行回存,您需要
-i
标志以及文件名,在find-exec
命令中,您可以使用{}
获取文件名。2) 您的命令不会简单地删除插入符号,而是用逗号替换它们。您可能还需要添加maxdepth
。不,这不会起作用,但它永远不会结束。有人能给我举个例子吗?1)这样,sed操作stdin并写入stdout。要编辑文件并进行回存,您需要-i
标志以及文件名,在find-exec
命令中,您可以使用{}
获取文件名。2) 您的命令不会简单地删除插入符号,而是用逗号替换它们。您可能还需要添加maxdepth
。不,这不起作用,但它永远不会结束。有人能给我举个例子吗?