我有一个以前在 Linux 上使用过的 bash 脚本,它在不同的发行版上运行良好,但在 MAC 上却不行。我试图读取一个文件,然后删除当前行。出于某种原因,在 Mac 上,我不断收到以下错误消息。文件确实逐行读取并打印出正确的输出,但从未删除实际行。Mac 上的等效 sed 命令是什么?
sed:1:“/tmp/someFile”:无效命令代码 f
while read -r line; do
echo "Run some code"
#move to next line and delete it.
let ++lineno
sed -i "1 d" $inputFile
echo "Deleting line $line"
sleep 1
done < "$inputFile"
答案1
选项-i
需要关于 BSD sed 的一个论点:
sed -i '' 1d "$inputFile"