Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何递归删除目录中所有文件中的插入符号(^)字符?_Linux_Bash_Shell - Fatal编程技术网

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
。不,这不起作用,但它永远不会结束。有人能给我举个例子吗?