2016-04-11 4 views
-1

rm -fがありますが、自動nはありませんyですか? 削除できるものを削除するにはrmは尋ねられず、削除されないようにします。読み取り専用フラグを持つファイルと同様に、他のプログラムによって開かれたファイル。 私はyes n | rm somefileを試してみました。rmが確認を求めている間に自動的に削除をキャンセルするには?

OS X 10.11です。 rmは読み取り専用ファイルを促進します。

異なるプラットフォームでは、rmのデフォルト動作が異なります。私はOS X 10.11とUbuntu 14.04上で試してみた

回答(動作しない):

rm somefile 
rm --interactive=never somefile 
echo n| rm -i somefile 

Ubuntuのログ:SaintHaxのソリューション@

$ touch somefile 
$ chmod 444 somefile 
$ ls -l somefile 
-r--r--r-- 1 ubuntu ubuntu 0 Apr 12 06:04 somefile 
$ 
$ rm somefile 
rm: remove write-protected regular empty file ‘somefile’? n 
$ rm somefile 
rm: remove write-protected regular empty file ‘somefile’? n 
$ 
$ rm --interactive=never somefile 
$ rm --interactive=never somefile 
rm: cannot remove ‘somefile’: No such file or directory 
$ 
$ touch somefile             
$ chmod 444 somefile             
$ ls -l somefile            
-r--r--r-- 1 ubuntu ubuntu 0 Apr 12 06:06 somefile 
$ echo n| rm -i somefile 
rm: remove write-protected regular empty file ‘somefile’? $ ls -l somefile 
-r--r--r-- 1 ubuntu ubuntu 0 Apr 12 06:06 somefile 

for file in [email protected]; do 
    [ -w $file ] && rm $file 
done 

作品上記のプラットフォーム上の読み取り専用ファイルmanページに記載されているようにあなたは、rmコマンドにオプションとして--interactiveまたは-iを使用することができます

+1

はずが何をしていることは何?何もない? – pfnuesel

+0

@pfnueselいいえ、それは何もありません。 rmは何も聞かずに、ほとんどの時間にファイルを削除します。それはほとんどの時間で削除するが、それが尋ねられている間は答えない。読み取り専用フラグを持つファイル。他のプログラムによって開かれたファイル。 – Al3n

答えて

1

これは私の2つの味のLinuxでうまく動作します。

echo n| rm -i *.csv 

ただし、-iは常に対話的なので、コマンドは基本的に無効になります。 readonlyコマンドで何かスキップしたい場合は、関数を作成することをお勧めします。

del() { 
    for file in [email protected]; do 
     [ -w $file ] && rm $file 
    done 
} 

注意:これは、ファイルがあなたによって書き込み可能でない場合にのみ機能することに注意してください。

+0

OS X 10.11の444ファイルでは動作しません。 'somefilesを削除するのを促す ' – Al3n

+0

' echo n | rm -i somefile'はubuntu 14.04で期待どおりに動作しません。確認を求められました。 – Al3n

+0

@ Al3n私はOS Xにアクセスできないが、答えを編集した。私はこれがあなたが望むことをすると信じています。 – SaintHax

1

--interactive [= WHEN]プロンプトに従って

-iプロンプトの除去すべての前にいつ:決して、一度(-I)、またはいつも(-i)。 WHENプロンプトを表示せずに常に

+0

ありがとう、OS X rm manにそのような指示はありません。私は 'rm --interactive = never somefile'を試して、' a.txt rm:illegal option - 'を得ました。 Mac版man rm'-iファイルのアクセス権に関係なく、 各ファイルを削除しようとする前に確認を要求するか、 標準入力デバイスが端末であるかどうかを確認してください。 -iオプションは、これまでの-fオプションよりも を上書きします。私はこれをubuntuで試してみます。 – Al3n

+0

'rm --interactive = never somefile'はubuntu 14.04で動作しません。 mod 444ファイルを削除しますか? – Al3n

0

あなたは使用することができます

rm --interactive=never somefile 
+1

これは 'rm somefile'と同じです。 – pfnuesel

+0

別名(私のような) 'alias rm = 'rm -i'を実行していない限り – Till

関連する問題