だからこんなことがあります。rename(1)
真珠もの。それは私の仕事にぴったりです。ただ基本cp
的にmv
。
この目標を達成する方法は?私はかなり多くの名前変更規則を持っており、すべてs|/foodir/|/|;s|/bardir/|/|
圧縮された形式で表現され、コピーする必要がある数行のファイルパターンがあります。
次のように見えます。
rename -v 's|/pars/|/|; s|/fts/|/|; s|innobase/include|include|' \
storage/{innobase,xtradb}/pars/{pars0grm.cc,pars0grm.y,pars0lex.l,lexyy.cc} \
storage/{innobase,xtradb}/fts/{fts0blex.cc,fts0blex.l,fts0pars.cc,fts0pars.y,fts0tlex.cc,fts0tlex.l} \
storage/innobase/include/fts0[bt]lex.h
ベストアンサー1
これは仕事です。公園。pax
標準 POSIX コマンドです。一部のLinuxディストリビューションでは、デフォルトのインストールからこれを省略するため、パッケージを明示的にインストールする必要があります。基本的な sed 正規表現の置換だけで Perl のすべての機能を使用することはできませんが、ユースケースには十分です。
pax -rw -pe -s'|/pars/|/|' -s'|/fts/|/|' -s'|innobase/include|include|' …
もっと強力なものが欲しいならここに扱いにくいはいzmv
。このウェブサイトには多くの例があります。、例えばファイル名のナビゲーション、コピー、変換、コピーするときにファイル名を変更する方法は?