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