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 回答