0

したがって、基本的には、これの書き方を理解するために、次のようなファイルがあります。

Start:
       First line of text
       Second line of text
Bin:
       Third line of text
       Four  line of text 

私が達成する必要があるのは、これらの文字列をチェックし、欠落している文字列を出力するスクリプトを作成することです。

私の仮定に基づいて、これには、各文字列をチェックする awk または grep と、これが存在しないかどうかを示す一連の if ステートメントが含まれ、存在しない文字列を出力すると想定します。

これを開始する方法についての指針はありますか?これは私がこれまでに試したもので、少し疑似コードっぽいものです。`

 str1=$(awk '/Start:/' /some/file)
 str2=$(awk '/First line of text/' /some/file) 
 str3=$(awk '/Second line of text/' /some/file)

if $str1 == '' then
   print $str1 'does not exist'
elif $str2 == '' then
   print $str2 'does not exist'
else $str3 == '' then 
   print $str3 'does not exist'
fi`    `
4

1 に答える 1

1

このようなものは、不足している文字列を AWK で出力する必要があります。

BEGIN {
 a[i++]="Start:"
 a[i++]="First line of text"
 a[i++]="Second line of text"
}

// {
 for (s in a) {
  if (match($0,a[s]) ) { a[s]="" }
 }
}

END {
 for (s in a) {
  if (a[s] != "") { print a[s] }
 }
}
于 2013-03-27T21:46:11.367 に答える