名前に削除サフィックスを含むファイルをコピーする

名前に削除サフィックスを含むファイルをコピーする

できるだけ小さいコマンドを使用して、末尾に特定のサフィックスを含むファイルを同じディレクトリにコピーするには:

例には、ファイルを含むディレクトリが含まれています。

  • cassandra.yml.例
  • データベース.yml.例
  • facebook.yml.example
  • キャッシュ.yml.例
  • system.yml.例

コピーし、次の名前を持つ必要があります。

  • カサンドラ.yml
  • データベース.yml
  • Facebook.yml
  • キャッシュ.yml
  • system.yml

答え1

for x in /path/to/*.example
do
  cp "$x" "${x%%.example}"
done

.example元のファイルと同じフォルダにはコピーされません。

答え2

文字列操作とプロセス置換(つまり、互換性のあるもの)をfindサポートするシェルが必要です。Bash

while read file
    do cp $file ${file%%.ext}
done < <(find -type f)

拡張子なしですべてのファイルをコピーするには、extの代わりにglob(*)を使用します。

関連情報