下面的命令用于删除前 3 行:
sed -i -e 1,3d t.txt
Run Code Online (Sandbox Code Playgroud)
所以我尝试用脚本中的变量替换 3,如下所示
NrLines=$(wc -l t.txt)
sed -i -e 1,"$NrLines{d}" t.txt
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:
sed: -e expression #1, char 13: unexpected `}'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
似乎命令替换和大括号被误用了。
NrLines=$(wc -l < t.txt)
sed -i -e 1,"${NrLines}d" t.txt
Run Code Online (Sandbox Code Playgroud)