有人能告诉我这个回复是什么意思吗?
sed: -e expression #1, char 4: unknown command: `
'
当我使用时我得到它:
sed -n "$num"p $javaFile >> ~/Desktop/$1_sql.txt
for i in `seq 5 $max`
do
lineNum=$(($num + $i))
echo $lineNum
sed -n "$lineNum"p $javaFile >> ~/Desktop/$1_sql.txt
done
其中 $javaFile 是一个 java 文件,num 是一个整数。
答案1
你的脚本没问题。可能是行终止符使它不起作用。您可以使用以下命令检查行终止符
file YourScriptFile
如果它返回类似“...with CRLF line terminators”的内容,您可以使用以下命令将 CRLF 更改为 LF 行终止符
flip -u YourScriptFile
再次运行脚本文件。
PS 有一个快速但肮脏的解决方案可以解决您的问题
cut -d $'\n' -s -f ${num},$((num+5))-$((num+max)) $javaFile
-d $'\n'
表示我们用作\n
分隔符,-f ${num},$((num+5))-$((num+max))
表示您想要的字段(在这种情况下为行)。字段是一个列表,可以是1-3
等1,3-10
。