我有一个目录A,里面有许多扩展名为.xml
的文件,我需要进行搜索和替换。在A中有几个符号链接(也带有.xml
扩展名),它们链接到A中的某些文件。我尝试运行sed -i 's/search_regexp/replacement_string/' *.xml
,但当它遇到符号链接时会失败并显示如下错误:
sed: ck_follow_symlink: couldn't lstat file.xml: No such file or directory
一种解决方案是循环遍历我实际想要修改的文件,并在每个文件上调用sed,但有没有办法告诉sed忽略符号链接?还是只跟随它们并修改链接的文件?
-type f
)?我使用了不带! -type l
的-type f
选项运行了find命令,并过滤掉了符号链接。我想知道是否实际上需要使用! -type l
。 - fo_x86-type f
),但我认为最好还是保险起见。 - sampson-chen