Unixで、カレントディレクトリにたくさんのファイルがあって、
そのうちの一つとか二つのファイルのみ残して あとはみんな削除したいとき、
どのようにすればよいのでしょうか。

rm *
とすると、みんな消えてしまいます。

もっとも、私の環境では .cshrcに
alias rm 'rm -i' 
と書いてあるため、削除するときにいちいち確認を取ってきます。
そのときに 削除しないものには n(no)と入力すればよいのですが、
ファイルがたくさんあると いちいち見るのも面倒になって、
y(yes)をどんどん入力してしまって削除してしまう恐れがあります。

コマンドを入力するときに 削除しないものを指定できないでしょうか。

Unixの初級者なので、そのおつもりでご解答いただくとうれしいのですが。。。

A 回答 (1件)

* などのワイルドカード展開は rm ではなくシェルでやっているので、


rm コマンドで簡単に実現する方法はありません。
私がやっている方法は、以下のようなものです。

(1) ls * > /tmp/filelist で、カレントディレクトリのファイル名一覧を
  /tmp/filelist に作る。
(2) vi /tmp/filelist で、削除したくないファイル名の行を消す。
(3) rm `cat /tmp/filelist` を実行する。

これで、お望みのことができます。
alias rm 'rm -i' しているとファイル名の確認を取ってくるので、これを
避けるには、(3) で \rm `cat /tmp/filelist` のように、rm の前に \ を
つけると alias が無効になり、一気に消すことができます。

もっと安直には、

(1) mv 消したくないファイル /tmp
(2) \rm *
(3) mv /tmp/消したくないファイル .

という方法もありますね。
    • good
    • 0
この回答へのお礼

おっしゃるとおりにしたら、私の希望どおりにできました。
ありがとうございました。

ご回答を見た私ははじめ、(3)で、
\rm の後の cat ~~ を '(シングルクウォーテーション)で囲ってしまってできなかったのですが、
ご回答どおりにちゃんと ` ` で囲ったらできました。

お礼日時:2001/08/12 12:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QD905i でmusic,jpにマイメニューに登録後の削除の仕方

はじめまして。
携帯に詳しくないのでよろしくお願いします。

今日ドコモのD905iでmusic,jpフルのmusic,jpトリ放題に315円で入会登録したんですが、さらにお金がかかるとしらなかったので、いらないので削除しようとしたら、マイメニュー画面にはmusic,jpトリ放題はあるんですが、いくら押しても画面がきりかわらず、仕方ないのでミュージックの画面最初からで行くと、入会してください、になっています。
退会削除をを押しても、入会してませんと出てきます。
入会してないならないでそれでいいんですが、マイメニューの画面でmusic,jpフルはどうやって削除出来るんでしょうか?

サイトに行っても登録してませんで、マイメニュー画面から消えてくれません。

詳しい方教えてください。

Aベストアンサー

マイメニューから今一度、確認して見て下さい。
無料、有料かかわらず会員登録されているサイトが表示されます。
もしmusic.jpがあれば会員登録されていますので
マイメニューからmusic.jpのサイトを選択するとサイトに飛びますので
下の方にマイメニュー削除があるのでそこから
入った料金コースを選んでiモードパスワードを入れれば削除出来ます。

music.jpのサイトを確認して見たんですが色々な料金コースメニューがあったので
削除出来ない場合は料金コースが違うのかもしれないのでマイメニューの登録内容の説明文を見て確認して削除してみて下さい。

どうしても分からない場合はドコモショップでも
一緒に消してくれるのでお気軽にご来店して下さい。

QRHL7で多数のファイル削除(rm)方法

Red Hat Linux7でHD容量が足りなくなったので、新しいHDをフォーマット後あるディレクトリにマウントしました。
この後、古いHD内のファイルを全て削除しようと思い、rm -r [ディレクトリ名]を実行しましたが、消すファイルを聞いてきて、いちいちy、リターンを押さなければなりません。数が多いので面倒です。
良い方法を教えてください。
rm -rは強制削除だとおもうのですが‥‥。
削除コマンドなので、ビビッています。
RHL7の素は、できるlinuxサーバという本に添付されていたものです。
よろしくお願いします。

Aベストアンサー

1つのコマンドに複数のaliasを設定することはできません(設定されるのは、1つだけです)
alias rm="mv /*/trash/ と alias rm=rm -i
を使うとすれば、
alias rm="mv -i /*/trash/
というところでしょうか?
要するに何をしたいかということだけです。
rm というコマンドを実行したらどういう動作をするかを記述するだけです。
もともとは、rmという削除コマンドをデフォルトで、オプションをつけずにどんな動作をさせるかだけです。キーを打つのをできるだけ少なくしたいと考えているだけです。
あまり、ややこしく考えないほうがいいと思います。

Qyahoo.co.jpのアカウントを削除方法

yahoo.co.jpのアカウントを削除方法がわかりません。
よろしくお願いいたします。

Aベストアンサー

Yahoo! ヘルプ - Yahoo! JAPAN IDに関する
Yahoo! JAPAN IDを削除するには
http://help.yahoo.co.jp/help/jp/edit/edit-27.html

さらに不明点があればYAHOOホームページ内の右上に必ずヘルプがありますから、
ご参照下さい。

Qなぜいちいち日本語入力に切り替えなければならないのですか

職場のPCの話です。
新しいタブを開くと英字入力になります。
いちいち「半角/全角」キーを押して切り替えて
日本語を入力しないといけません。

他の人たちも同じです。
そういうものだと思っているようですが,
何か設定はできないのですかね。

たったワンタッチとはいえ,
毎日何十回もキーを押すのですから,
結構むだな作業だと思えます。

昔はそんなことなかったです。
3年前くらいに機種が変わってからです。
どなたかご教示いただけますか。

Aベストアンサー

Windowsパソコンでしょうか。
以前からそうだったはずですよ。
Windowsパソコンの日本語IMEのオン/オフは使用するアプリケーション側に「起動時にIMEをオンにする」という設定項目が存在しない限りは必ずオフ(というより「直接入力」状態)で起動します。
起動時にIMEをオンにする事ができるソフトは日本語ワープロやテキストエディタくらいなもので、表計算ソフトやデータベースソフト、ブラウザなどにはその設定はまずありません。表計算ソフトには入力規則があり、ブラウザにはそういうことが出来るスクリプトを組むということならできますが。

以前、フリーソフトでどんなときでも日本語IMEがオンになっている(=どのアプリケーションを起動しても必ず日本語IMEをオンにする)という状況を作り出すものがありましたが、WindowsXPの頃に開発を止め、それ以降のWindowsには対応していません。


http://menushowdelay.blog.fc2.com/blog-entry-194.html#end

Qgoogle.co.jpで検索した言葉の履歴削除の方法

google.co.jpで検索したワードがパソコンに履歴として残っています。スペースキーを2回叩くとすべて検索したものが順に出てきます。どうやって消したらいいのでしょうか? ちなみにIEのツール、インターネットオプション、cookieの削除、ファイルの削除すべてしてみましたが、履歴は消えません。どなたかわかるから教えてください。windows XP利用しています。

Aベストアンサー

IEのツール→インターネットオプションのコンテンツタブ→オートコンプリートで「フォームのクリア」で、全部消えます。

検索窓に出た個々のものは、反転選択状態でDELキーです。

残さないようには、オートコンプリートの使用目的「フォーム」のチェックを外したら良いです。

QUNIXのshでの入力受付について

またまたシェル関係で質問です。
sh上で入力受付をさせたいときは通常
「read 変数名」
をいれて入力受付をさせています。
ですが、今やっている現象でこの入力受付が
スルーされているという現象が起きていて悩んでいます。

※ ソース例
ls -l | while read VAL_A ; do
echo "test"
read VAL_B ← ここで入力受付がスルーされる
done

 そこで質問なのですが、read以外にキー入力受付を
実現できるコマンドというものは存在するのでしょうか?
もしなければ、回避方法は存在するのでしょうか?

ちなみに実行環境は
OS:HP-UX11.0
となっています。それでは宜しくお願いします。

Aベストアンサー

入力がスルーされているわけではないです。パイプラインの後の while ~ のコマンド全体の
標準入力を read しているわけです。以下のように書いてみれば、どういうふうに動いているか
分かりますよね?

ls -l | while read VAL_A ; do
read VAL_B
echo "A: $VAL_A"
echo "B: $VAL_B"
done

で、解決法なんですが、以下のようにしてみては?

ls -l | while read VAL_A ; do
echo "test"
read VAL_B <&1   ※ ここに注目!
done

# HP-UX では試してません

Q464.jpって削除されたんですか?

かなり前に464.jpを利用していて、最近はずーっと利用していませんでした。
友達から『464.jpってサイト知ってる?』と聞かれたので、久しぶりに何か読んでみようかなーと思い、午前中サイトを開いたのですが 『サーバーがみつかりません』と表示されました。
時間をずらして 今開いても見てもやはり『サーバーが見つかりません』となります。

464.jpはなくなってしまったのでしょうか?

Aベストアンサー

下記サイトによると「本日から1月31日までシステム移行作業中のため」だそうですが。

http://www.muramoto.net/

Qaliasの設定

UNIX上で自分のローカルディレクトリ上で作業をしていて、長いコマンドをaliasで設定したいのですが、
.cshrcをコピー自分のローカルディレクトリに別ファイル名 .aaa などとコピーして書きかました。
この.aaaを有効とさせたい場合どうすればよいのでしょうか?

Aベストアンサー

こんにちは。

シェルは何をお使いでしょうか?
OSも何かわからないので、基本的なやり方を・・・。

csh,bash,tcsh なら
% source .aaa

sh,kshなら
% . .aaa

などでできるかと思います。

QIe9の検索語の履歴を完全に削除するには(2)

Ie9の検索語の履歴を完全に削除するには(2)
こちらで、検索語を表示しないでURLを表示する方法を教えていただきました。
http://oshiete.goo.ne.jp/qa/7284641.html

お教えいただいた方法はとても便利で今後はずっとこれにしようと思っているのですが、ご回答にあるhttp://www.google.co.jp/webhp?complete=0からhttp://www.google.co.jp/に戻ると検索語はまた表示されるようになります。「ツール→インターネットオプション→全般→閲覧の履歴→削除」で削除しても、検索語は削除されません。
http://www.google.co.jp/に戻っても検索語が表示されないようにするにはどうしたらいいでしょうか。つまり、検索語を記録から完全に削除してしまうにはどうしたらいいでしょうか。

Aベストアンサー

#2さんの補足に書かれていることですが

>Googleの検索ボックスに表示されるサジェストを、表示されないようにするのではなく、完全に消去つまり削除したいと思っています

Googleのサーバーにあるもので、しかも皆が同じものを利用しているのですから一個人が削除するということは無理でしょう。
#3でも書きましたが、検索履歴は個々のPC内に保存されているものですからそれぞれ削除することができます。
でもサジェストはGoogleのサーバー上にあるものですから削除はできません。
個人レベルでは表示するかしないかの選択になるわけです。

ちなみに、IEをオフライン作業にしてみればわかりますが、検索履歴は表示することができますが、サジェストはオフライン作業時にはサーバーにデータを取りにいけないので表示できなくなります。

Googleツールバーにはまだサジェストの選択肢が残っていますが、Web上の設定からはなくなってしまいました。
これは私も非常に「うざったく」思い、選択項目の復活を願っています。

Qrm できない

使わなくなった、ディレクトリを削除しようと以下のコマンドを実行したのですがエラーが出て削除できません。

[root@ns www]# rm -rf test
rm: cannot remove directory `test/123/111': Directory not empty
rm: cannot remove directory `test/123': Directory not empty
rm: cannot remove directory `test': Directory not empty

HDDの物理的な故障でなければいいのですが・・・

Aベストアンサー

#5です。

補足要求にお返事くださりありがとうございます。

ファイルモードの次に2とか3とかありますけどこれを見たかったんです。これは、ハードリンクの個数です。
もしかしたら、何かの間違いでディレクトリにハードリンクが張られている(実際はあり得ないはずだが)のではと思ったんですが、、、111のリンクカウントが2なのは正しいので、、、

やはり、ハードディスクの故障の可能性が高いと思います。


人気Q&Aランキング

おすすめ情報