次のような 3 つの列を含む .csv ファイルがあります。
Name,Last,Value
pablo,car,20
この .csv ファイルの 2 行目が空かどうかを確認する方法はありますか? 次のようになります:
if second-line-empty; then
echo "empty"
else
echo "not empty"
fi
この場合、2 行目の 3 つのフィールドはすべて空で、ファイルには次の行のみが含まれる必要があります。
Name,Last,Value
答え1
if [ "$(wc -l <file.csv)" -eq 1 ]; then
echo file only contains a single line
fi
これはwc -l
ファイルの内容に対して実行されます。結果が 1 行になった場合、ファイルには 1 行しか含まれていません。
「空行」には改行文字(他には何も)が含まれていることに注意してください。上記のコードは、ファイルに2行目が含まれていないかどうかを検出します。まったく質問の最後に示した例のように。