私の友人は、Windows上でこのように大量のファイルをグループ化しました
彼にUbuntuに切り替えさせた後、ファイルは前の感嘆符の数に基づいて並べ替えられなくなったので、次のルールに従ってファイルを切り替える方法を知りたいと思います。
1
にとって !
および!!
0
にとって !!!
および!!!!
私はawkを使うべきだと思いますが、私は専門家ではないので、ここにいます。
GUIを使用したファイルとディレクトリのバッチ名前変更には、 GPRename を使用できます。
あなたはそれをインストールすることができます:
Sudo apt-get install gprename
pythonスクリプト:
_#!/usr/bin/env python3
import os
import shutil
import sys
dr = sys.argv[1]
replace = ["!", "!!", "!!!", "!!!!"]
for f in os.listdir(dr):
test = [f.startswith(s) for s in replace]
if test.count(True) > 2:
shutil.move(dr+"/"+f, dr+"/"+"0"+f.replace("!", ""))
Elif 0 < test.count(True) < 3:
shutil.move(dr+"/"+f, dr+"/"+"1"+f.replace("!", ""))
_
_!!!!
_がでのみ発生すると仮定すると、先頭の_!!!
_と_0
_は_!!
_に、_!
_と_1
_は_!
_に置き換えられます。名前の始まり。
rename.py
_として保存します次のコマンドを使用して、ターミナルウィンドウから実行します。
_python3 /path/to/rename.py '<directory>'
_
ここで、_<directory>
_は、名前を変更するファイルを含むディレクトリです。
Perlベースのrename
コマンドを使用することもできます。
rename -vn -- 's/^!{1,2}(?!!)/0/' *
名前の先頭(!
)に!
が続かない1つまたは2つの^
文字に一致し、s置換0
;そして
rename -vn -- 's/^!{3,4}(?!!)/1/' *
名前の先頭(!
)に!
が続かない3つまたは4つの^
文字に一致し、s置換1
。
注:-n
スイッチを使用すると、実際に名前を変更せずに「ドライラン」を実行できます。先に式をテストし、続行する場合はn
を削除してください。