[解決済み] Red Hat Linux の標準ツールでファイルの行をランダムにする方法は?
2022-11-18 14:16:16
質問
Red Hat Linux の標準ツールを使って、ファイルの行をランダムにするにはどうしたらよいでしょうか。
私は
shuf
コマンドのようなものを探しています。
perl
または
awk
のような、同じタスクを達成するワンライナーもあります。
どのように解決するのですか?
そして、Perlのワンライナーです。
perl -MList::Util -e 'print List::Util::shuffle <>'
これはモジュールを使っていますが、そのモジュールはPerlのコード配布の一部です。もしそれが十分でないなら、自分でロールバックすることを検討してもよいでしょう。
で使ってみましたが
-i
フラグ ("edit-in-place") を使用して、ファイルを編集してみました。ドキュメントによると、うまくいくはずなのですが、そうではありません。シャッフルされたファイルは標準出力に表示されますが、今度はオリジナルを削除してしまいます。私は、これを使用しないことをお勧めします。
シェルスクリプトを考えてみましょう。
#!/bin/sh
if [[ $# -eq 0 ]]
then
echo "Usage: $0 [file ...]"
exit 1
fi
for i in "$@"
do
perl -MList::Util -e 'print List::Util::shuffle <>' $i > $i.new
if [[ `wc -c $i` -eq `wc -c $i.new` ]]
then
mv $i.new $i
else
echo "Error for file $i!"
fi
done
未検証ですが、うまくいけば動作します。
関連
-
Deepin20システムのフォントを設定するには?Deepin端末のフォントサイズを設定する方法
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] Linux/Unixで$PATHを永久に設定する方法 [終了しました].
-
[解決済み] Pythonでファイルサイズを確認するには?
-
[解決済み] 特定のファイル/フォルダを除外してディレクトリをtarするシェルコマンド
-
[解決済み] 特定のコマンドを無視するBashのエラー
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
deepinシステムのバージョン番号を見るには?deepinシステムのバージョン情報を見るコツ
-
deepin20の不正確な時刻表示を調整する方法は?Deepinの時刻補正方法
-
Kali Linuxのデフォルトのひげメニューアイコンを変更する方法は?
-
deepin20のデスクトップアイコンのスタイルを変更する方法は?deepinのアイコンテーマを変更するためのヒント
-
[解決済み] libstdc++.so.5: 共有オブジェクトファイルを開くことができない - しかしライブラリはインストールされており最新である
-
[解決済み] Bashシェルスクリプト - フラグをチェックし、その値を取得します。
-
[解決済み] エラーです。Can't open display: (null)と表示されることがあります。
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] 特定のファイル/フォルダを除外してディレクトリをtarするシェルコマンド
-
[解決済み】Unixのコマンドラインやシェルスクリプトでテキストファイルの行をシャッフルする方法は?