我正在尝试制作一个脚本,它将第一个位置参数 in$foo
并删除 in 行之前的所有$foo
行files.txt
。但是我不断收到以下错误:
sed: -e expression #1, char 22: unknown command: f
. 我的输入是recup_dir.6/f5681240.mpg
,我什至尝试过逃避/
但 recup_dir.6\/f5681240.mpg
没有帮助。我还四处寻找不同的转义文本方法,但没有帮助。我的代码是:
foo=$1;
sed -i "0,/^file $foo$/d" files.txt
编辑:让问题更清楚,说我有一个名为files.txt
file ab/c
file eg/f
file hi/j
file xy/z
现在我想删除特定元素之前的所有元素 say hij
,所以我使用了可以正常工作的命令sed -i '0,/^file hi\/j$/d' files.txt
。
但是,当我尝试将其用作上面显示的脚本的一部分时,它会失败。运行./script.sh eg\/f
失败并出现错误sed: -e expression #1, char 23: unknown command: `f'
谢谢