この問題を解決する最も簡単な方法を探しています。このタイプのフォーマットのExcelにロードできない巨大なデータセットがあります
This is a sentence|10
This is another sentence|5
This is the last sentence|20
私がしたいことは、数に基づいてこれを最小から最大に並べ替えることです。
cat MyDataSet.txt | tr "|" "\t" | ???
これを行うための最良の方法がわからないので、awkを使用して列を切り替え、並べ替えを行うことを考えていましたが、うまく実行できませんでした。
助けてください
sort -t\| -k +2n dataset.txt
それを行う必要があります。フィールドセパレータと代替キーの選択
通常、ファイルをフィルターに送るのに猫は必要ありません。つまり、sortフィルターを使用できます。
sort -t "|" -k 2 -n MyDataSet.txt
これは、|を使用してMyDataSet.txtファイルをソートします。フィールド区切り文字としての文字、および2番目のフィールド(数値)に従って数値で並べ替え。
並べ替えてみましたか-n
$ sort -n inputFile
This is another sentence|5
This is a sentence|10
This is the last sentence|20
あなたはawkでも列を切り替えることができます
$ awk -F"|" '{print $2"|"$1}' inputFile
10|This is a sentence
5|This is another sentence
20|This is the last sentence
awkとsortの組み合わせ:
$ awk -F"|" '{print $2"|"$1}' inputFile | sort -n
5|This is another sentence
10|This is a sentence
20|This is the last sentence
コメントごと
文に数字がある場合
$ sort -n -t"|" -k2 inputFile
This is another sentence|5
This is a sentence|10
This is the last sentence|20
this is a sentence with a number in it 2|22
もちろん、新しいファイルにリダイレクトすることもできます。
$ awk -F"|" '{print $2"|"$1}' inputFile | sort -n > outFile
次の並べ替えコマンドを試してください:
sort -n -t '|' -k2 file.txt
番号で並べ替え、区切り記号を変更し、並べ替えを使用して2番目のグループを取得します。
sort -n -t'|' -k2 dataset.txt