Mac sed 与 linux 不一样

Mac sed 与 linux 不一样

我有一个以前在 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"

相关内容