1つのLiner sed日付文字列をunixtimeとして

1つのLiner sed日付文字列をunixtimeとして

次のコマンドを実行しています。

cat /tmp/myfile.log | sed -n -e 's/^.*Expire: //p'

次の文字列を返します。

04-nov-2018

その後、次のように文字列を実行したいと思います。

date -d '04-nov-2018' + "%s"

これはUnixスタイルを返します。

1541304000

単一のコマンドラインでどのように実行できますか?

ベストアンサー1

$( )次のようにコマンドを実行できます。

date -d "$(command)" + "%s"

あなたの場合:

date -d "$(sed -n -e 's/^.*Expire: //p' /tmp/myfile.log)" + "%s"

また、ファイルから直接読むことができるのでsed '...' fileないと言いました。cat file | sed '...'sed

おすすめ記事