文字列比較を使用してタグ付きファイルを見つけて表示を解除しますか?

文字列比較を使用してタグ付きファイルを見つけて表示を解除しますか?

Bashには、whileループを使用して特定のフォルダ内のファイルをさまざまなディレクトリにコピーするスクリプトがあります。作成した各ファイルをコピーした後

mv $dir/$file $dir/_$file

_ファイルがコピーされたことを示すために、ファイルのプレフィックスに使用されます。 ($dirファイルがコピーされた場所です。)ループが終わると、スクリプトは表示されていないファイルを一覧表示して、まだコピーされていないファイルを表示します。

特定のファイルが複数のディレクトリに複数回コピーされたが、ファイル名が変更されて再コピーできない小さな競合が発生しました。

書いてみたかったのにうまくif [ $file -eq $dir/_$file ]いかないですね。"_$file"指定されたディレクトリを確認する簡単な方法は何ですか"$file"

これらすべてを達成するためのより良い方法がある場合は良いでしょう。

ベストアンサー1

次に拡張されるファイルが与えられた場合$filename:

if [[ -f "dir/_${filename}" ]]; then
    echo "The prefixed copy exists."
else
    echo "The prefixed copy does not exist."
fi

おすすめ記事