に基づいてソートファイルは:私は私の平文ファイルをカンマで区切られたフィールドをソートする方法をハードコードしまし除いAWK:私はこの単純な<code>awk</code>コードを持っているユーザー入力
awk -F, 'BEGIN{OFS=FS} {print $2,$1,$3}' $1
、素晴らしい作品。実行時にフィールドを並べ替える順番を指定できるようにしたい。
一つのハックの方法は、私がこのだったことについて考えた:
read first
read second
read third
TOTAL=$first","$second","$third
awk -F, 'BEGIN{OFS=FS} {print $TOTAL}' $1
しかし、これは実際に動作しません:
またawk: illegal field $(), name "TOTAL"
、私はawk
の能力について少し知っていますユーザー入力を受け入れる:
BEGIN {
getline first < "-"
}
$1 == first {
}
しかし、作成された変数がオリジナルの印刷コマンドで変数として使用できるかどうかは疑問です。より良い方法がありますか? awk
が$TOTAL
の値ではなく、文字列リテラル$TOTAL
を見ているように、あなたはbash
がawk
前$TOTAL
を拡大させる必要があり
私は他の二つの変数の '-V'を使うのを忘れていました。 – chepner
ありがとう、これは素晴らしいです! – celestialroad