フォルダを確認して3行を出力するスクリプトがあります。
1st line : Changes to the subfolders 2nd line : Changes to the number of files 3rd line : Changes of file size in the folder
以下は出力の例です。
1 sub-folders added Number of files didn't change Files size didn't change
コマンドを使用して1行ずつ出力を確認し、スクリプトをテストしたいと思います。
それはまるで
line 1 == "1 sub-folders added" && line 2 == "Number of files didn't change" && line 3 == "Files size didn't change" then print success if it matches.
どのコマンドがこれを実行できますか?
ありがとう
答え1
head
と を使用して、対応する行tail
と値を取得できます。
例:
OUTPUT=`yourcommand` ; if [ "`echo \"$OUTPUT\" | head -n 1`" = "1 sub-folders added" ] && [ "`echo \"$OUTPUT\" | head -n 2 | tail -n 1`" = "Number of files didn't change" ] && [ "`echo \"$OUTPUT\" | tail -n 1`" = "Files size didn't change" ] ;then echo "success" ; else echo "error" ; fi
(キーワードは不明ですdidn't
。バックスラッシュを使用してアポストロフィをエスケープする必要があるかもしれません(例\'
:))。
このすべての内容を一文に圧縮したいようですからこうです。
最初の行には、数字「1」の前にスペースがあります。出力またはこのスクリプトを変更できます。