2017-01-20 5 views
-1

さまざまな形式のファイルがたくさんあるディレクトリがあります。私は、同じフォーマットのいくつかのファイル(例:A.datとB.dat)を除いて、特定のフォーマット(* .datと言う)のファイルをすべて削除する方法を知りたいと思います。お知らせ下さい! (それは少し大きすぎるコマンドラインワンライナーとして)bashコマンドを使用していくつかのファイルをすべて削除する

+1

何を試しましたか?どのように失敗しましたか? – Inian

+2

http://unix.stackexchange.com/a/214410/13792 – choroba

答えて

1

私は小さなスクリプトを記述します:

#!/bin/sh 
for f in *.dat; do 
    case $f in 
     (A.dat|B.dat) 
     ;;   # do nothing 
     (*) 
     rm -- "$f";; # remove the file 
    esac 
done 

別の方法として、各ファイルをお願いインタラクティブrm -i *.datを使用することができます削除する必要がある場合。必要のないファイルはyA.datB.datnと答えてください。

zshやbashのような現代のシェルも、問題のために強力なグロブ機能を提供します。私はマニュアルページを読むことをお勧めします。これは熟練したシェルの達人になるのに役立ちます。

+0

返事をくれてありがとう、私にはうまくいくが、私は同じ行為をすることができる1行のスクリプトがあるかどうか疑問に思っている!! –

関連する問題