タグ付けされた質問 「sort」

テキストファイルやその他のデータの並べ替え(並べ替えユーティリティなど)。

5
人間が読めるサイズをソートする方法
私は基本的にファイルを探して、サイズでソートしています。人間が読めるサイズでサイズをソートしなければ、スクリプトは機能します。しかし、サイズは人間が読めるサイズにしたいです。人間が読めるサイズをソートするにはどうすればよいですか? 例えば: ls -l | sort -k 5 -n | awk '{print $9 " " $5}' これは期待どおりに機能し、ファイルのサイズはバイト単位で昇順になりました: 1.txt 1 test.txt 3 bash.sh* 573 DocGeneration.txt 1131 andres_stuff.txt 1465 Branches.xlsx 15087 foo 23735 bar 60566 2016_stuff.pdf 996850 さて、サイズを人間が読めるようにしたいので、lsに-hパラメーターを追加しましたが、いくつかのファイルが故障しています: ls -lh | sort -k 5 -n | awk '{print $9 " " $5}' …
11 find  ls  sort 

13
区切られたアイテムの単一行を数値的にソートするにはどうすればよいですか?
任意の文字で区切られた数字の行(または多くの行)があります。区切り文字を保持したまま、各行の項目を数値的に並べ替えるために使用できるUNIXツールは何ですか? 例は次のとおりです。 番号のリスト; 入力:10 50 23 42; ソート済み:10 23 42 50 IPアドレス; 入力:10.1.200.42; ソート済み:1.10.42.200 CSV; 入力:1,100,330,42; ソート済み:1,42,100,330 パイプ区切り; 入力:400|500|404; ソート済み:400|404|500 区切り文字は任意なので、選択した1文字の区切り文字を使用して、回答を自由に提供(または拡張)してください。

1
フィールドのセクションに基づいてファイルをソートする方法
ファイルを並べ替えたい: D104HN-D104HA 8.320 4.521 1.69e+05 -- D104HN-D104HB* 8.320 2.823 2.93e+05 -- A90HB#-A90HA 1.655 4.207 7.12e+05 -- A90HB#-F91HA 1.653 4.411 8.59e+04 -- A114HB#-A114HA 1.253 4.098 7.67e+05 -- A114HB#-R111HA 1.251 3.929 1.76e+05 -- A114HB#-W110HA 1.253 4.451 3.68e+04 -- F91HE*-F91HZ 7.237 7.122 7.85e+05 -- F91HE*-K92HA 7.242 3.910 4.88e+04 -- そしてこれを入手 A90HB#-A90HA 1.655 4.207 …

4
一致するフィールドに基づいて列のペアを合計する
次の形式の大きなファイルがあります。 2 1019 0 12 2 1019 3 0 2 1021 0 2 2 1021 2 0 2 1022 4 5 2 1030 0 1 2 1030 5 0 2 1031 4 4 列2の値が一致する場合、両方の行の列3と4の値を合計します。それ以外の場合は、一意の行の値の合計のみです。 したがって、私が期待している出力は次のようになります。 2 1019 15 2 1021 4 2 1022 9 2 1030 6 2 1031 8 …

3
より高速なデータの並べ替え
bedファイルをランダムに10000回ソートし、毎回上位1000行を取得する必要があります。現在、私は次のコードを使用しています: for i in {1..100}; do for j in {1..100}; do sort -R myfile.bed_sorted | tail -n 1000 > myfile.bed.$i.$j.bed done done これをファイルごとに行うには、約6時間かかります。私はそれらのうちの約150を解決する必要があります。これのより速い解決策はありますか? 私が持っているデータのサンプル(myfile.bed_sorted): chr1 111763899 111766405 peak1424 1000 . 3224.030 -1 -1 chr1 144533459 144534584 peak1537 998 . 3219.260 -1 -1 chr8 42149384 42151246 peak30658 998 . 3217.620 -1 …
11 sort 

7
最終更新日に基づいてディレクトリ内のファイルを再帰的にソートします
最終更新日に基づいてディレクトリ内のファイルを再帰的にソートします 私は自分のディレクトリ内の多くのファイルを変更しましたが、それらのファイルが最後に変更された日付で並べ替えることによってそれらのファイルが何であるかを知りたいので、一部の拡張機能を除外します svnディレクトリには、ソートに表示したくない.svnファイルもたくさんあります
11 shell  scripting  find  sort 

5
順序を維持しながら隣接する重複行を削除する
それぞれが何回も繰り返される名前が1列のファイルがあります。同じ名前の他の繰り返しに隣接していない同じ名前の他の繰り返しを維持しながら、各繰り返しを1つに圧縮したい。 例えば、私は左側を右側に向けたいです: Golgb1 Golgb1 Golgb1 Akna Golgb1 Spata20 Golgb1 Golgb1 Golgb1 Akna Akna Akna Akna Spata20 Spata20 Spata20 Golgb1 Golgb1 Golgb1 Akna Akna Akna これは私が使用してきたものです。perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt ただし、この方法では左から1つの代表のみが保持されます(つまり、Golb1とAknaは繰り返されません)。 複数の隣接しないブロックで繰り返される名前を維持しながら、各ブロックの一意の名前を維持する方法はありますか?
11 awk  sed  sort  uniq 

3
時系列でジョブを並べ替える
おそらく私が見当違いの単純な解決策。atq時系列でソートされた出力を取得するにはどうすればよいので、次に実行する予定の人を簡単に確認できますか?のmanページにsortは、次のようなタイムスタンプを認識する機能が組み込まれていません。 atq 1264 Sat Mar 24 15:03:00 2012 a master 1445 Sat Mar 24 20:28:00 2012 a master 1548 Sun Mar 25 15:09:00 2012 a master 1193 Sat Mar 24 11:03:00 2012 a master 1359 Sat Mar 24 17:13:00 2012 a master 1726 Mon Mar 26 21:24:00 2012 a master …
11 date  sort  at 

2
「uniq」または「sort -u」行がどこにあるのか、いくつかのユニコード文字がある
次のコードスニペットで何が起こっていますか?期待どおりの出力が得られません。 バグだと思いますが、2つの異なるプログラム(uniqとsort)で発生するので、何か関係があるのではないかと思います。 最初の3つ(4つのうち)の例は機能しますが、4番目の例は失敗します。 すべてのキャラクターで同じ動作が期待されます。 すなわち。(入力の3行から)2行を出力するには... 4番目のケースでは、1行しか表示されません(sort -uおよびの両方uniq)。2つの同一のリンが消えるだけです! 表示をコンパクトにするために、出力「\ n」をスペースに変換しました。 私が使用していますUNIQをしてソート(GNUのcoreutilsの)7.4から... Ubuntuの10.04.3 LTSデスクトップ上で実行されています。 スクリプト: { locale -k LC_COLLATE echo for c1 in x 〼 ;do for c2 in z 〇 ;do echo -n "asis : "; echo -e "$c1\n$c2\n$c2" |tr '\n' ' ';echo echo -n "uniq : "; echo -e "$c1\n$c2\n$c2" …


4
フィールドをインラインで並べ替え
不明な数のフィールドで入力行内をソートしようとしています: 入力: ab bc bc ab cd ef bc bc cd ef cd bc ab ef ab bc cd gh 出力: ab bc ab bc bc cd ef bc cd ef ab cb cd ab bc cd ef gh 私はのようなものを使用してきましたがawk '{if($2 < $1) print $2,$1;else print}'、3つ以上のフィールドで乱雑になるようです。何か助けは?

1
gnu coreutilsはソートが壊れていますか?
ソートする次の入力を検討してください。 cat > foo <<EOM D,,5014978 DD,,25 D,I,1972765530 D,Y,4223624 -,Y,71285059 YA,I,2 EOM 今実行してみてください sort foo これを私のLinuxボックス(gnu coreutilsバージョン6.9〜7.4)で試しても、出力はソートされません。cygwin(gnu coretuils 8.5)で実行すると、出力がソートされます。コメント?
10 bash  coreutils  sort 

3
ソートされた順序でファイルをタール化​​する方法は?
あなたの場合はtar再帰的にディレクトリ、それだけで、OSのから順番に使用していますreaddir。 しかし、場合によっては、ファイルをソートしてtarで圧縮すると便利です。 ディレクトリをアルファベット順にソートするのに良い方法は何ですか? この質問では、典型的なLinuxシステムのgnu-tarで問題ありません。
10 linux  tar  sort 

6
要素の長さに従って配列をバッシュソートしますか?
文字列の配列がある場合、各要素の長さに従って配列をソートしたいと思います。 例えば... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) ソートする必要があります... "the longest string in the list" "also a medium string" "medium string" "middle string" "short string" "tiny string" (おまけとして、リストが同じ長さの文字列をアルファベット順に並べ替えるといいでしょう。上記の例では、同じ長さでもmedium string前に並べ替えられmiddle stringていました。しかし、解決)。 配列がインプレースで並べ替えられている(「配列」が変更されている)場合、または新しい並べ替えられた配列が作成された場合は問題ありません。

2
GNUソートを使用して単一のキーでソートする/他のキーの不要なソートを防止する
すでに順序付けられたデータを含むファイルがあり、他のキーのデータの順序を壊すことなく、1つのキーの値に従ってファイルを再順序付けしたいです。 指定していないキーの値に基づいてGNUソートが行のソートを実行しないようにするにはどうすればよいですか?またはソート時にキーの範囲を無視するようにGNUソートに指定するにはどうすればよいですか? ファイルdata.txt: 1 Don't 2 C 1 Sort 2 B 1 Me 2 A 予想される出力: 1 Don't 1 Sort 1 Me 2 C 2 B 2 A コマンド: sort -k 1,1 <data.txt 結果:要求しなかった不要な並べ替え: 1 Don't 1 Me 1 Sort 2 A 2 B 2 C
9 sort 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.