私は持っています
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
、正規表現の使用に基づいています。私はそれが何人かの人々に役立つことを願っています。
答え2
rename
Larry WallのPerlバージョンをインストールできます。
UniverseリポジトリからUbuntuにインストールできます。 (getpack
これは独自のシェルスクリプトなので、必要に応じてここに追加またはリンクできます。)rename
他のLinuxディストリビューションにもインストールできると思います。
$ getpack rename
lrwxrwxrwx 1 root root 24 jan 10 2023 /usr/bin/rename -> /etc/alternatives/rename
lrwxrwxrwx 1 root root 20 jan 10 2023 /etc/alternatives/rename -> /usr/bin/file-rename
-rwxr-xr-x 1 root root 4529 okt 31 2021 /usr/bin/file-rename
-------------------------------------------------------------------
/usr/bin/file-rename: Perl script text executable
-------------------------------------------------------------------
package: /path/program [for command 'rename']
rename: /usr/bin/file-rename
-------------------------------------------------------------------
type: rename is /usr/bin/rename
$ apt-cache policy rename
rename:
Installerad: 1.30-1
Kandidat: 1.30-1
Versionstabell:
*** 1.30-1 500
500 http://se.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
500 http://se.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
100 /var/lib/dpkg/status
sudo apt install rename
その後、オプションを使用して「テストの実行」を確認できます。-n
$ rename -n 's/^[0-9]*//' *myfile*.jpg
rename(123456myfile567.jpg, myfile567.jpg)
rename(123myfile123.jpg, myfile123.jpg)
よかったら、削除し-n
て実行し、ファイル名を変更してください。
rename 's/^[0-9]*//' *myfile*.jpg
ターゲットファイルは*myfile*.jpg
、おそらく実際のターゲットファイルに基づいて変更する必要があります*.jpg
。