私は持っています
123myfile123.jpg
123456myfile567.jpg
最初のアルファ文字の前のすべてを削除したいと思います。
myfile123.jpg
myfile567.jpg
0〜9をすべて削除することがあります。
mv '123myfile123.jpg' $(echo '123myfile123.jpg' | sed -e 's/[0-9]//g')
myfile,jpg
私に必要な結果myfile123.jpg
これにご協力いただきありがとうございます。
ベストアンサー1
これは単なる提案です。これを行うより効率的な方法があるかもしれませんが、これが役に立つことを願っています。
for i in $(find . -type f -name '*.jpg'); do mv -v $i $(echo $i | sed 's/\.\/[0-9]\+\(.*.jpg\)/\1/g'); done
コマンドの簡単な説明:
まず、各ファイルに一致するfind
コマンドの各結果を繰り返します。.jpg
出力例:
./123myfile567.jpg
./123456myfile567.jpg
その後、\.\/[0-9]\+\(.*.jpg\)
正規表現は次のことを行います。
./
最初から一致しました。- 私は以下を使用して1つ以上を一致させます
[0-9]
。+
- 使いたい部分を選んで
()
後で呼びます\1
[編集する]
まだ一つあります。ツール呼び出されrename
、正規表現の使用に基づいています。私はそれが何人かの人々に役立つことを願っています。