gpt4 book ai didi

shell - 如果文件的第一行为空,则删除它

转载 作者:行者123 更新时间:2023-12-04 02:53:35 25 4
gpt4 key购买 nike

如果文本文件为空,如何删除文本文件的第一行(!),例如使用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

最佳答案

sed 中最简单的事情是:

sed '1{/^$/d}'

请注意,这不会删除包含所有空格的行,而只会删除仅包含一个换行符的行。要摆脱空白:
sed '1{/^ *$/d}'

并消除所有空格:
sed '1{/^[[:space:]]*$/d}'

关于shell - 如果文件的第一行为空,则删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com