範囲が2つの変数に設定されているファイルの列範囲を出力したいと思います。
本当に大変です。私はカットが最高のツールだと思いますが、私が知っている限り、範囲を指定する変数を許可しません。
タブ区切りファイルです。私は試した:
Column=8401
awk -F $'\t' -v c=$Column '{ for (x=1; x<=c; x++) { printf "%s\n", $x } }' ~/file.txt > ~/file1.txt
ただし、これは機能しません(目標は1から8401までの列範囲を選択することです)。
入力と出力の例を見てみましょう。
ColumnStart=1
ColumnEnd=3
入力する:
12 33 55 23 13 88
$column
私が出力する$ColumnStart
変数を使って$ColumnEnd
出力:
12 33 55
答え1
次の変数を使用します。
cut -f${ColumnStart}-${ColumnEnd}
(変数に常に適切な値が含まれているとします...)