別のコマンドでawkからの出力を使用するにはどうすればよいですか?
質問
したがって、日付を別の形式に変換する必要があります。バッシュパイプラインを使用すると、最後のコンソールログインから日付を取得し、関連するビットをawkで引き出します。
last $USER | grep console | head -1 | awk '{print $4, $5}'
出力: Aug 08
($ 4 = 8月$ 5 = 08、この場合。)
今、私は「8月8日」を取り、それを date
フォーマットを数値日付に変更するコマンド。
これは次のようになります:
date -j -f %b\ %d Aug\ 08 +%m-%d
出力:08-08
私が持っている質問は、それをパイプラインに追加し、awk変数を4ドルと5ドルを使用するにはどうすればよいですか?
解決
コマンド代替を使用する必要があります。
date ... $(last $USER | ... | awk '...') ...
Bashは、内部のコマンド/パイプラインを評価します $(...)
結果をそこに配置します。
他のヒント
得る awk
電話する date
:
... | awk '{system("date -j -f %b\ %d \"" $4 $5 "\" +%b-%d")}'
または、プロセス置換を使用して出力を取得します awk
:
date -j -f %b\ %d "$(... | awk '{print $4, $5}')" +%b-%d
私はあなたがすでにこれを試したと思いますか?
last $USER | grep console | head -1 | awk | date -j -f %b\ %d $4 $5 +%b-%d
バックティックを使用すると、長いパイプラインの出力を日付に取得する必要があります。
date -j -f %b\ %d \`last $USER | grep console | head -1 | awk '{print $4, $5}'\` +%b-%d
所属していません StackOverflow