仅当存在于bash中时如何从文件中删除标题?

Shi*_*wal 2 linux bash shell sed

我有这个示例文件。我想删除该文件的第一行(标题),仅当它(标题)使用 bash 存在时。

id name job_id
1 john 25
2 adam 45
3 paul 75
Run Code Online (Sandbox Code Playgroud)

Jon*_*ler 5

您可以sed使用该-i选项在一次操作中完成(假设您的版本sed支持它 - 并非所有人都支持)。例如:

sed -i.bak -e '1{/^id name job_id/d;}' file
Run Code Online (Sandbox Code Playgroud)

这需要文件的第 1 行,并将大括号中的命令应用到它。大括号搜索显示的模式并删除该行。如果第一行不匹配,则不会删除。其他线路保持不变。

Mac OS X 需要分号和备份后缀sed;使用 GNU sed,您可以省略其中一个或两者。