https://stackoverflow.com/questions/5374239/tab-separated-values-in-awk#comment23678233_5376527 正確なコードがコピーされました。
echo "$line"
戻ってくる
LOAD_SETTLED LOAD_INIT 2011-01-13 03:50:01
今
echo "$line" | awk '{print $1}'
LOAD_SETTLEDを返すecho "LOAD_SETTLED LOAD_INIT 2011-01-13 03:50:01" | awk '{print $1}'
LOAD_SETTLEDを返すecho "$line" | awk -v FS='\t' -v OFS='\t' 'BEGIN {OFS = FS} {$3 = var; print}'
行全体を返します。echo "$line" | awk -v var="$mycol_new" -F'\t' 'BEGIN {OFS = FS} {$3 = var; print}'
行全体を返します。
メモ:全体的に> LOAD_SETTLED LOAD_INIT 2011-01-13 03:50:01
文脈によると、LOAD_SETTLED
どこで間違っていますか?
コピーしているタブ区切り文字が何であるかわかりません。 Ctrl + TabはPowerShellでターミナルタブを切り替えるためのものなので、手動でWSLにタブを挿入する方法がわかりません。質問から$lineをコピーしました。
うん、多分そうではecho
ないかもしれない。
printf "LOAD_SETTLED\tLOAD_INIT\t2011-01-13 03:50:01\n" | awk -v FS='\t' -v OFS='\t' 'BEGIN {OFS = FS} {$3 = var; print}'
返品:
LOAD_SETTLED LOAD_INIT
printf "LOAD_SETTLED\tLOAD_INIT\t2011-01-13 03:50:01\n" | awk -v var="$mycol_new" -F'\t' 'BEGIN {OFS = FS} {$3 = var; print}'
返品:
LOAD_SETTLED LOAD_INIT
LOAD_SETTLED
なぜ今、2つのフィールドが返されるのかを期待する必要があります。
オリジナル回答タブで区切られた文字列から最初の列を取得します。最初の列を取得するためにコピーしようとしました。しかし、今、2つの熱が発生しました。これが私の混乱です。
アップデート:問題が修正されました。私のせい。
ベストアンサー1
おそらく、echoはこの目的に適したツールではないかもしれません。これを試してみてください。
printf "LOAD_SETTLED\tLOAD_INIT\t2011-01-13 03:50:01\n"|awk '{print $1}'