如果我不使用变量,这将有效。我不明白为什么当我将变量放入其中时它不起作用。任何人都可以帮忙吗?变量包含文件的路径。
sed s/$old/$new/ Current_series_list.txt"
路径可能包含正斜杠。使用不同的字符来分隔命令参数,例如#
:
sed "s#$old#$new#" Current_series_list.txt
当然,由于正则表达式元字符,这仍然很脆弱。考虑改用以下内容:
ruby -e '$stdin.each_line { |l| puts l.sub(ARGV[0], ARGV[1]) }' \
"$old" "$new" < Current_series_list.txt
Perl 中更便携的等价物留给读者练习。
old
和的值是new
多少?如果它们包含斜杠,那么它们会将 sed 模式扩展为无效的内容。您的尾随引号可能也无济于事。