別のコマンドでawkからの出力を使用するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3452339

  •  27-09-2019
  •  | 
  •  

質問

したがって、日付を別の形式に変換する必要があります。バッシュパイプラインを使用すると、最後のコンソールログインから日付を取得し、関連するビットを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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top