sed
出力を交換しながら何かをしようとしています。詳細は次のとおりです。出力の場合は、残りの数字の空白Date:080910 111411
のみを保持してフィルタリングしたいと思います。Date:XXXXXX
通常、s/Date:[0-9]{6}//g
問題は解決されます。そうですか?ただし、Date:080910 111411
出力はcurl
APIから取得するコマンドから来ます。sed
実際に作成された内容は次のとおりです。
sed 's/;Submitted-on *:/ Date:/g'
私はその出力をフィルタリングしようとしましたが、期限切れの時間を取り除き、生のyymmddを提供するためにsedを使用できる場所を理解していません。
誰でもどんなアイデアがありますか?
答え1
-E
拡張正規表現オプションを設定したことを覚えていますか?それ以外の場合は作成する必要があります\{6\}
(デフォルトの正規表現構文)。s/Date:[0-9]{6}//g
実際に維持したい部分を削除します。- スペースと次の数字を削除するには、次の手順に従います。
sed 's/ [0-9]*$//'
答え2
これにより、次のようになりますDate:XXXXXX
。
echo "Date:080910 111411" | sed 's/ .*//'
これはより厳しく、「Date:」で始まります。
echo "Date:080910 111411" | sed -r 's/^Date:([0-9]{6}) .*$/\1/'