1

これが私のクエリです:

/path/newdir/newfile.csv

例 入力検索文字列: 123456789

出力例:

サンプル番号: 123456789 タイムイン: 2012-05-29T10:21:06Z タイムアウト: 2012-05-29T13:07:46Z

4

3 に答える 3

1

sedで試すことができます

sed '/123456789/s/\(Sample Number.*\) \(Time In.*\) \(Time Out: [^ ]\+\) \(.*\)/\1 \2 \3/g' newfile.csv

newfile.csvはこのようにしか見えないと思います。そう思います。

ファイルの内容:

Sample Number: 123456789 Time In: 2012-05-29T10:21:06Z Time Out: 2012-05-29T13:07:46Z some data : gfjgkgkgjg

これがお役に立てば幸いです。

于 2012-06-01T12:16:56.477 に答える
0

もう一度推測させてください。

Sample Number: 123456789
Time In: 2012-05-29T10:21:06Z
Time Out: 2012-05-29T13:07:46Z
some data : gfjgkgkgjg

awkを使用できます:

awk -v re=gfjgkgkgjg -F ": " '$1~/^Sample Number$/{sn=$2}$1~/^Time In$/{tin=$2}$1~/^Time Out$/{out=$2}$1~/^some data $/{data=$2}$2~re{print"Sample Number: "sn" Time In: "tin" Time Out: "out" Data: "data}'

最後の行と照合する場合は、収集されたデータを最後のレコード行に出力するために、状態の自動化を追加する必要があります。

于 2012-06-01T12:37:47.517 に答える
0

コマンド grep は、ファイル内の文字列を検索するために使用されます。あなたの例では、次のようにします。

grep 123456789 /path/newdir/newfile.csv

次を使用して、出力にコンテキストを含めることもできます。

grep -A <lines before> -B <lines after> 123456789 /path/newdir/newfile.csv
于 2012-06-01T11:29:41.160 に答える