我正在尝试创建一个别名函数来从文件中删除输入的行:
function remove_line(){
line_to_remove="'s/^"$1"$//g'"
sed -i $(line_to_remove) my_file
}
例如:
remove_line domain.com
应该从给定文件中删除该域。
然而,似乎$
没有正确解释。我究竟做错了什么?
我正在尝试创建一个别名函数来从文件中删除输入的行:
function remove_line(){
line_to_remove="'s/^"$1"$//g'"
sed -i $(line_to_remove) my_file
}
例如:
remove_line domain.com
应该从给定文件中删除该域。
然而,似乎$
没有正确解释。我究竟做错了什么?
我想将以下命令(取自此处)包含在Makefile
. 包含该命令的脚本的简单版本Makefile
是:
copy_files:
sed 's/^/\./' ./input_file | \
rev | \
LC_ALL=C sort -u | \
awk 'p == "" || substr($0,1,length(p)) != p { print $0; p = $0 }' | \
rev | \
sed 's/^\.//' > ./output_file
我遇到的问题是,当我使用 执行它时make
,它无法识别该$0
符号:
awk: cmd. line:1: p == "" || substr(,1,length(p)) != p { print ; p = }
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: p == "" || substr(,1,length(p)) != p { print ; p = }
awk: cmd. line:1: ^ syntax error
我尝试逃避$0
使用\$0
但没有成功。解决办法是什么?