如何刪除文本文件的第一行(!),如果它是空的,使用例如。 sed或其他標準UNIX工具。我試過這個命令:刪除文件的第一行,如果它是空的
sed '/^$/d' < somefile
但是這將刪除第一個空行,而不是文件的第一行,如果它是空的。我可以給出一些關於行號的條件嗎?
隨着捷爾的答案,我建立了這個小腳本基於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
你是指就地刪除嗎? – Levon
你是什麼意思?如果你的意思是「生成沒有臨時文件」,我其實不在乎。我想我可以在之後重新命名結果文件。 – Arne
是的,我想知道你是否想在原地修改文件本身。 – Levon