Linux

使用過濾器將文件從一個目錄複製到另一個目錄

  • October 31, 2021

我的源文件夾中有這些文件

source_path/date=20191230/somefile.txt
source_path/date=20191231/somefile.txt
source_path/date=20200101/somefile.txt
source_path/date=20200102/somefile.txt

如果我執行以下命令,所有文件都將復製到我的 dest_path 文件夾

cp --recursive source_path/date=20200* dest_path/

它在我的本地機器上完美執行

我只是根據需要將這些文件複製到我的 dest_path

source_path/date=20200101/somefile.txt
source_path/date=20200102/somefile.txt

當我在 aws 中複製同樣的東西時,問題就來了。我正在使用此命令從 S3 複製到我的 Ec2 實例

aws s3 cp --recursive s3://source_path/date=20200* home/ec2-user/dest_path/

這不起作用也不給出錯誤它只是給出這個輸出

0.35user 0.05system 0:00.48elapsed 85%CPU (0avgtext+0avgdata 50660maxresident)k
0inputs+0outputs (0major+17977minor)pagefaults 0swaps

punkrockpolly對 Stack Overflow的回答(由thanasisp發現):


要將多個文件從 aws 儲存桶下載到您的目前目錄,您可以使用recursiveexcludeinclude標誌。 參數的順序很重要。

範例命令:

aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"

有關如何使用這些過濾器的更多資訊:http: //docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters

引用自:https://unix.stackexchange.com/questions/617192