さまざまなsed
、mv
およびrename
コマンドを試しましたが、まだファイルの名前を変更することはできません。 50以上のファイルがあります。見つけたコマンドを試してみました。助けてください。
元のファイル名:
PAGES_TEST1_SART1.XML
PAGES_TEST2_SART2.XML
PAGES_TEST3_SART3.XML
PAGES_TEST4_SART4.XML
到着
PAGES_PROD1_SART1.XML
PAGES_PROD2_SART2.XML
PAGES_PROD3_SART3.XML
PAGES_PROD4_SART4.XML
答え1
使用真珠rename
(すべてのオペレーティングシステムで動作):
rename -n 's/TEST/PROD/g' ./*TEST*.XML
スイッチの削除-n
、別名。試運転あなたの試みが満足なとき実際の名前に変更。
答え2
rename
どちらを使用していますか?そして
$ rename --version
rename from util-linux 2.39.3
次から始めましょう:
$ ls -1
PAGES_TEST_SART1.XML
PAGES_TEST_SART2.XML
PAGES_TEST_SART3.XML
PAGES_TEST_SART4.XML
PAGES_TEST_SART5.XML
PAGES_TEST_SART6.XML
PAGES_TEST_SART7.XML
PAGES_TEST_SART8.XML
PAGES_TEST_SART9.XML
あなたはできます:
$ rename TEST PROD *
そして得る:
$ ls -1
PAGES_PROD_SART1.XML
PAGES_PROD_SART2.XML
PAGES_PROD_SART3.XML
PAGES_PROD_SART4.XML
PAGES_PROD_SART5.XML
PAGES_PROD_SART6.XML
PAGES_PROD_SART7.XML
PAGES_PROD_SART8.XML
PAGES_PROD_SART9.XML
答え3
たぶんこの行に沿って(bashの場合):
for f in \`ls | grep PAGES_TEST\`; do mv $f $(echo $f | sed 's/TEST/PROD/'); done
最後にチェックマークを参照してください。