3

エラーキャッチを追加して、bashスクリプトを修正しようとしています。通常、次のような内容のファイル (list.txt) があります。

People found by location:  
person: john [texas]  
more info on john

そのファイルが破損する場合があり、最初の行しかありません。

People found by location:

そのファイルをチェックして 2 行目にデータが存在するかどうかを確認する方法を見つけようとしています。それを bash スクリプトに含めたいと考えています。これは可能ですか?

4

4 に答える 4

1

特定のファイルの 2 行目にデータが含まれているかどうかを確認したいとします。

[ "$(sed -n '2p' inputfile)" != "" ] && echo "Something present on line 2" || echo "Line 2 blank"

これは、入力ファイルが 1 行しかない場合でも機能します。

入力ファイルに 1 行以上含まれているかどうかを単純に確認したい場合は、次のように言えます。

[ "$(sed -n '$=' z)" == "1" ] && echo "Only one line" || echo "More than one line"
于 2013-08-28T16:09:52.353 に答える
0

外部コマンドを必要としない別のアプローチは次のとおりです。

if ( IFS=; read && read -r && [[ -n $REPLY ]]; ) < /path/to/file; then
    echo true
else
    echo false
fi
于 2013-08-28T16:38:32.693 に答える