これが私のクエリです:
/path/newdir/newfile.csv
例 入力検索文字列: 123456789
出力例:
サンプル番号: 123456789 タイムイン: 2012-05-29T10:21:06Z タイムアウト: 2012-05-29T13:07:46Z
これが私のクエリです:
/path/newdir/newfile.csv
例 入力検索文字列: 123456789
出力例:
サンプル番号: 123456789 タイムイン: 2012-05-29T10:21:06Z タイムアウト: 2012-05-29T13:07:46Z
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
これがお役に立てば幸いです。
もう一度推測させてください。
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}'
最後の行と照合する場合は、収集されたデータを最後のレコード行に出力するために、状態の自動化を追加する必要があります。
コマンド grep は、ファイル内の文字列を検索するために使用されます。あなたの例では、次のようにします。
grep 123456789 /path/newdir/newfile.csv
次を使用して、出力にコンテキストを含めることもできます。
grep -A <lines before> -B <lines after> 123456789 /path/newdir/newfile.csv