0

シェル スクリプトは初めてなので、助けが必要です。私は2つの文字列を持っています:

Expected Dates: 12/17/2012 12/18/2012 12/19/2012 12/20/2012 12/21/2012 12/22/2012 12/23/2012
Eimx/MDW Dates: 12/17/2012 12/18/2012 12/19/2012 12/20/2012 12/21/2012 12/22/2012

それらを比較して、欠落しているデータを表示したい。

そのための .sh スクリプトを作成したいのですが、どうすればよいですか?

4

1 に答える 1

0

質問はまったく明確に定義されていませんが、おそらく次のようなものです。

#!/bin/sh

s1='Expected Dates: 12/17/2012 12/18/2012 12/23/2012'
s2='Eimx/MDW Dates: 12/17/2012 12/18/2012'
s1=${s1#*:}  # Trim the header (or start the loop in awk at i=3 )
s2=${s2#*:}

printf "$s1\n$s2\n" | awk  '
    NR==1 {for( i=1; i<=NF; i++) a[$i]=1 }
    NR==2 {for( i=1; i<=NF; i++) { if( ! a[$i] ) print $i; delete a[$i]; }}
    END{ for( i in a) print i}'
于 2012-12-30T11:01:36.947 に答える