GNU/Linux >> Linux の 問題 >  >> Linux

データファイルからランダムに特定の数の線を描画しますか?

のようなデータリストがあります
12345
23456
67891
-20000
200
600
20
...

このデータセットのサイズ(つまり、ファイルの行数)がNであると想定します。 。 mをランダムに描きたい このデータファイルの行。したがって、出力は2つのファイルである必要があります。1つはこれらのmを含むファイルです。 データの行、およびもう1つにはN-mが含まれます データの行。

Linuxコマンドを使用してそれを行う方法はありますか?

承認された回答:

これは最も効率的な方法ではないかもしれませんが、機能します:

shuf <file> > tmp
head -n $m tmp > out1
tail -n +$(( m + 1 )) tmp > out2

$mを使用 行数を含みます。


Linux
  1. 各ファイルにヘッダーを含む行数でファイルを分割しますか?

  2. テキストファイルから最初の数行を効率的に削除しますか?

  3. 別の行からのAWK?

  1. ファイルの行数を数えますか?

  2. テキスト ファイルから奇数行または偶数行を削除する

  3. Bash履歴ファイルから特定の行を削除します

  1. GitHubリポジトリからコードの行数を検索します

  2. Lsによって出力される行数?

  3. 正規表現が一致するまで下から行を抽出します