複数のディレクトリからファイルをコピーして、複数のディレクトリに貼り付けます。

複数のディレクトリからファイルをコピーして、複数のディレクトリに貼り付けます。

私は "/data/archive"ディレクトリを持っています

このディレクトリの下には8つの異なるサブディレクトリがあります。

eg : /data/archive/a
/data/archive/b and so on

これらのサブディレクトリの下のファイルには名前に日付が追加されているため、必要な日付を含むファイルのみがコピーされます。

現在私がやっていることはこんな感じです。

cd a
scp *20210826* user@server:/data/20210826_inputfiles/a
cd b
scp *20210826* user@server:/data/20210826_inputfiles/b

各ディレクトリを1つずつ移動する必要がない方法でこれをコーディングすることは可能ですか?

これの助けは非常に役に立ちます。

よろしくお願いします!

答え1

最も明白なものは次のとおりです。

for dir in a b b d e f g ; do
    cd $dir
    scp *20210826* user@server:/data/20210826_inputfiles/$dir
    cd ..
done

cd ..(私の考えには論理的なようで追加しました)

スクリプトに入れることもできます。これを行うには、次のことをもう一度考える必要があります。

  • 日付をスクリプトにパラメータとして渡しますか?
  • スクリプトに独自のディレクトリを決定させるか、それともスクリプトにハードコードするようにしますか?

など。

関連情報