0

シナリオは、ファイルがあり、「日付と時刻は2012-12-0717:11:50」という文字列が含まれている場合です。

コマンドを検索して見つけました

grep 'the date and time is' 2012-12-07.txt | cut -d\   -f5

5番目の単語が表示されるだけで、5番目と6番目の組み合わせが必要なので、試してみました

grep 'the date and time is' 2012-12-07.txt | cut -d\   -f5 -f6 

しかし、そのエラー。

さて、1つのコマンドで5番目と6番目の単語をgrepする方法

次のような出力が必要です2012-12-07 17:11:50

4

3 に答える 3

3

あなたが使用できるはずです

$ grep 'the date and time is' 2012-12-07.txt | cut -d' ' -f6-7

オプションの引数の構文については、マニュアルページを確認してください。-f

于 2012-12-07T12:09:35.310 に答える
0

5番目と6番目ではなく、6番目と7番目だと思います

grep 'the date and time is' 2012-12-07.txt |awk '{print $6,$7}'
于 2012-12-07T12:13:34.000 に答える
0

これは、の仕事のように聞こえますawk。これは、複数のプロセスで構成されるパイプラインを構築するよりもわずかに高速である可能性があります。

pax> echo 'hello
           the date and time is 2012-12-07 17:11:50
           goodbye' | awk '/the date and time is/ {print $6" "$7}'
2012-12-07 17:11:50

これは、検索と変更を1つのコマンドに組み合わせたものです。

このソリューションは、あなたのようなソリューションでは、検索文字列のawkの行に何かがある場合は役に立ちませんが、次のようなニーズの複雑さに応じて、それを行うこともできます。

pax> echo 'hello
           Today (Friday), the date and time is 2012-12-07 17:11:50
           goodbye' | awk '/the date and time is/ {
                               sub (".*is","",$0);
                               print $1" "$2
                               }'
2012-12-07 17:11:50
于 2012-12-07T12:15:59.667 に答える