0

newtext.csvは次のようになります:

Record 1
---------
line 1 line 2 Sample Number: 123456789 (line no. 3) | | | | | Time In: 2012-05-29T10:21:06Z (line no. 21) | | | Time Out: 2012-05-29T13:07:46Z (line no. 30) 

Record 2
----------
line 1 line 2 Sample Number: 363214563 (line no. 3) | | | | | Time In: 2012-05-29T10:21:06Z (line no. 21) | | | Time Out: 2012-05-29T13:07:46Z (line no. 30) 

Record 3
---------
line 1 line 2 Sample Number: 987654321 (line no. 3) | | | | | Time In: 2012-05-29T10:21:06Z (line no. 21) | | | Time Out: 2012-05-29T13:07:46Z (line no. 30) 

newtext.csvにそのような100個のレコードがあると仮定します。したがって、入力したi/p文字列のパラメーターが必要になります。これは以下のとおりです。

Input
Enter the search String :
123456789

Output

Sample Number is, Sample Number: 123456789 
Connected Time is,Time In: 2012-05-29T10:21:06Z 
Disconnected Time is, Time Out: 2012-05-29T13:07:46Z 

これはまさに私が必要としているものです。上記の形式のシェルスクリプトを手伝ってもらえますか?

4

1 に答える 1

1

OK、入力と目的の出力はちょっと奇妙ですが、それでも必要なものを取得するのは難しくありません。次のことを試してください。

var=123456789
awk -v "var=$var" --exec /dev/stdin newtext.csv <<'EOF'
  ($7 == var) {
    printf("Sample Number is, Sample Number: %s\n", $7);
    printf("Connected Time is, Time In: %s\n", $18);
    printf("Disconnected Time is, Time Out: %s\n", $27);
  }
EOF
于 2012-06-04T13:06:11.213 に答える