如果文本文件为空,我如何使用例如 sed 或其他标准 UNIX 工具删除文本文件的第一行 (!)。我试过这个命令:
sed '/^$/d' < somefile
但这将删除第一个空行,而不是文件的第一行,如果它是空的。关于行号,我可以给 sed 一些条件吗?
随着 Levon 的回答,我基于 awk 构建了这个小脚本:
#!/bin/bash
for FILE in $(find some_directory -name "*.csv")
do
echo Processing ${FILE}
awk '{if (NR==1 && NF==0) next};1' < ${FILE} > ${FILE}.killfirstline
mv ${FILE}.killfirstline ${FILE}
done