使用Rsync从文本文件读取变量,但在bash中包含通配符

问题描述 投票:0回答:1

我正在尝试从文件夹中同步文件,但是我想定义这些文件的子集。我创建了一个带有通配符名称的文本文件,但出现“无此文件”错误。

下面是我的源目录文件列表,名称将始终存在,但是日期/时间将更改,所以我使用*通配符来获取文件。

20200207-COE-2020-02-06T2332238.SCH
20200207-SMXH-2020-02-06T23140696.SCH
20200207-SMXH alias-2020-02-06T23140766.SCH
20200128-SARE-2020-01-28T15202081.SCH
20200128-SARH alias-2020-01-28T15161179.SCH

我的源列表-我尝试通过在此和rsync命令行中输入通配符

*SMXH*
*COE*
*SMXH\ alias*

我的rsync命令

rsync -tv --files-from=/var/tmp/red_badger/bus_names.txt "foo@bar:/apps/schedules/archived/" /var/tmp/red_badger/files --dry-run

错误消息

receiving file list ... rsync: link_stat "/apps/schedules/archived/*SMXH*" failed: No such file or directory (2)
rsync: link_stat "/apps/schedules/archived/*COE*" failed: No such file or directory (2)
rsync: link_stat "/apps/archived/*SMXH\ alias*" failed: No such file or directory (2)

使用通配符在一行命令中起作用

 rsync -tv "foo@bar:/apps/schedules/archived/*SMXH\ alias*" .

bash wildcard rsync
1个回答
0
投票

--files-from选项用于指定精确的文件名匹配。要使用模式而不是实际文件名,请使用--include-from选项。

© www.soinside.com 2019 - 2024. All rights reserved.