
ディレクトリ内のファイルで、日付が最も古い&(且つ)サイズが小さいものを削除するシェルを作成しようと考えています。
当初の以下のような考えをしていましたが、うまくいかないので質問しました・・・
ls -lStr(カレントディレクトリで日付が古くサイズが小さい順のつもり・・・)
上記のコマンド実行にて、
合計 100
-rwxr-xr-x 1 root root 333 2月 22 2009 java.log
と表示されるのを利用し、上から2行目のファイル名を取得するためawkして『java.log』というファイル名をprintfで表示させ変数か何かに格納し、rmコマンドで削除という流れを考えていました。
よくよく考えると
・ls -lStr は本当に日付が古くサイズが小さいものでソートされているのか
・lsコマンドで表示した『2行目』という指定でファイル名の取得できるのか
がよくわからなくなってしまいました。
上記の考え方よりこっちのほうが良い!やアドバイスがあれば非常に嬉しいです。
よろしくお願いしますm(__)m
No.1ベストアンサー
- 回答日時:
「最も古い&(且つ)サイズが小さいもの」は、ちょっと意味が不明です。
両方の条件が成り立つとはかぎりません。「最古だけどファイルサイズが最小ではないもの」
「最古ではないけどファイルサイズは最小のもの」
の2つのファイルがある場合、どちらが削除対象ですか?
「最小ではなくても、とにかく最古」が対象なら、ls -tr
「最古ではなくても、とにかく最小」が対象なら、ls -Sr
になるでしょう。
あと、lsのソート順オプションが決まったとして、その一覧の先頭に来ているファイルを削除する方法についてですが、
ls に-l オプションを付ける必要はないでしょう。
-lオプションなしならファイル名だけが表示されますから、それがそのまま削除対象として使えます。
あとは、head コマンドを使って
ls -tr | head -1
で、lsの結果の先頭1行だけが表示されますから、
rm `ls -tr | head -1`
とすれば、そのファイルだけが削除されます。
(これは、最古の1ファイルを削除する例になります)
最初の条件はディレクトリ内にある更新が古い日付順(同日同時刻ファイル複数)
でソートし、さらに同日同時刻の古い複数ファイルの中でファイルサイズが小さいもの
でソートというイメージでした。
1.最古の日付でソート
2.1.の中で更にサイズでソート
のような感じです。
ちなみにlsの件はできました!ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
- Windows 10 この現象も、Microsoft Explorer のお粗末な仕様のためか? 2 2023/06/09 15:06
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- その他(クラウドサービス・オンラインストレージ) ヤマップは自分のアルバムになるか 1 2022/11/08 17:20
- Windows 10 win10 立ち上げ時のエラー 1 2023/04/17 11:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
ファイル名についている「-」と...
-
ファイル名一覧の印刷
-
OSローダの動きが変になって...
-
ラズパイで『’test.service’をs...
-
MOS-DOSって何ですか???
-
cat でファイルの拡張子を指定
-
solaris上のディレクトリをwind...
-
パイプの最後に、クリップボー...
-
DVDの中身を確認したい
-
[vi]エディタ;ファイルを開く...
-
knoppixのブータブルCDを作りたい
-
「msconfig」が見つからない。
-
automatorでファイル名のみ取得
-
数字を複数回繰り返す正規表現...
-
MS-DOSプロンプトって何に使うの?
-
ms-dosについて
-
設定をしてもファイルの関連付...
-
DOSで違う階層のファイルまでも...
-
windows上のファイルをlinuxの/...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
テキストファイルから最終行の抽出
-
ラズパイで『’test.service’をs...
-
ファイル名についている「-」と...
-
ファイル名一覧の印刷
-
ファイル名の -(ハイフン)を _(...
-
batファイルの強制終了を回避し...
-
DOSコマンドのFOR文で空白を含...
-
数字を複数回繰り返す正規表現...
-
ftpコマンドで丸ごとダウン...
-
DOS コマンドの~zfの意味を教え...
-
xcopyのエラー情報のはき...
-
~以外を削除する場合(rmコマ...
-
oracleの文字コードとlinuxサー...
-
win11のエクスプローラーの右ク...
-
FTP接続時の文字化け(CentOS6.5)
-
特定の更新日付のファイルのみ...
-
Linuxで標準出力したファイルの...
-
lsでは一画面ずつ表示できませ...
-
Windowsバッチファイルで、隠し...
おすすめ情報