findが無効な表現について文句を言うのはなぜですか?

findが無効な表現について文句を言うのはなぜですか?

バックアップファイルから週次ディレクトリにコピーする次のシェルスクリプトがあります。

#!/bin/sh
find . type f \( -iname "SS1*.tar" -o -iname "SS2*.tar" -o -iname "SS3*.tar" -o -iname "SS4*.tar"\) -exec cp {} /backup_file/backup/weekly \;

そのため、実行後に「誤った式」というエラーメッセージが表示されます。

この問題を解決するのに役立ちます。

ベストアンサー1

2つの構文エラーがあります。

  • type fでなければなりません-type f
  • 前にスペースが必要です\)

したがって、修正されたコマンドは次のようになります。

find . -type f \( -iname "SS1*.tar" -o -iname "SS2*.tar" -o -iname "SS3*.tar" -o -iname "SS4*.tar" \) -exec cp {} /backup_file/backup/weekly \;

おすすめ記事