空白で区切られた複数の列を持つファイルがあります。 は、例えば:ファイルの内容を列単位で並べ替える方法は?
data1 data2 data3 data4 val1 val2 val3 val4
私はいつか、カラム1の値に基づいて、すなわちいつかようにCOL2の値に基づいて、異なる列の値に基づいてファイルをソートする必要があります。
私はソートコマンドを考えましたが、これを達成するためにそれを使用する方法を理解できませんでした。
ありがとう、
空白で区切られた複数の列を持つファイルがあります。 は、例えば:ファイルの内容を列単位で並べ替える方法は?
data1 data2 data3 data4 val1 val2 val3 val4
私はいつか、カラム1の値に基づいて、すなわちいつかようにCOL2の値に基づいて、異なる列の値に基づいてファイルをソートする必要があります。
私はソートコマンドを考えましたが、これを達成するためにそれを使用する方法を理解できませんでした。
ありがとう、
あなたの場所に並べ替えをあきらめる場合、それは簡単です:
sort -k 1 original > by_col_1
sort -k 2 original > by_col_2
thanx ,,, -kオプションです。スペース以外のカラムセパレータでもう1つ動作します。 – sud03r
はい、-tオプションを使用します。 * man sort *をチェックしてください。 –
ソートが組み込まれているために使用されるラインの一部である「鍵」、の理解比較を行う。デフォルトでは、キーは行全体であるが、これは-k
オプションで変更することができます。
例:
--key=2,2' (
-k 2,2' を使用し、2番目のフィールドでソートするには)。
デフォルトでは、キーは非空白と空白の間のトランジションで区切られています。
VIM-方法を試し、その場でファイルをソートするに:
$ ex -s +'%!sort -k1' -cxa file.txt
またあなたが右のUnixコマンドを見つけるために、またはでプログラムそれをやりたい、Cが言うsort -k1 in.txt -o out.txt
よう
-o
パラメータを使用します? – anderstornvig