という名前のファイルを除いて、floopというディレクトリ内のすべてのファイルを削除するoneliner(Windowsラップトップで実行されているubuntu上)を作成しようとしていますfile keep me
。
これは私がすでに得たものです:
for foo in /floop;
do
if [ ! $foo == "file keep me" ];
then
rm -r $foo;
fi;
done
私が得ているエラーは次のとおりです。
rm: cannot remove '/floop': No such file or directory
floop/
ホームディレクトリで試したところ、フォルダ全体が削除されたため、現時点ではディレクトリ自体で試しています。
使用find
:
find /path/to/folder -maxdepth 1 -type f ! -name 'name of file' -delete
PS:forループの正しいバージョンは次のようになります:
for foo in /floop/* ;
do
# Skip the file you want to keep
if [ "$foo" = "/floop/file keep me" ] ;
then
continue
fi
# Skip directories
if [ -d "$foo" ] ;
then
continue
fi
# Remove other files
rm "$foo"
done
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加