目录列表到逗号分隔的目录

目录列表到逗号分隔的目录

您好,我正在尝试将scp目录从一个环境复制到另一个环境。假设目录位于\asdir1 dir2 dir3等位置。现在作为scp副本,我需要将它们列为{'dir1','dir2',...}.我可以生成引号 ( ''),但不能生成逗号 ( ,)。你能帮忙制作逗号吗?目前我只能生产{'dir1' 'dir2'...}。无法产生逗号。请帮忙解决这个问题。

scp -rp hdqamktg@hdstg-c01-edge-03:/hdfs/app/qa/MarketingIT/warehouse/mktg_bdo.db/mktg_contact_roles_comp /hdfs/app/dev/MarketingIt/warehouse/hddvmktg/mktg_bdo.db/

(/hdfs/app/qa/MarketingIT/warehouse/mktg_bdo.db/mktg_contact_roles_comp下的目录为viewdate=2015-01-02 viewdate=2015-01-02 viewdate=2015-01-03等等)

它适用于此: scp -rp $sourceUser@$sourceHost:$srcDir$pathSeperator{'dir1','dir2'} $targetPath$pathSeperator

我通过脚本得到的输出如下:正在复制表“mktg_mbd.web_data_uri_sessionized”的数据文件... {'viewdate=2016-04-02' 'viewdate=2016-04-03}

它需要是 {'viewdate=2016-04-02','viewdate=2016-04-03} 才能成功复制。

在目标目录中,它具有: viewdate=2016-03-01 viewdate=2016-03-05 viewdate=2016-03-09 viewdate=2016-03-13 viewdate=2016-03-17 等等

END_DATE_COMP=$(date -d $END_DATE +%s)
                            NEXT_DATE=$ST_DATE;
                            NEXT_DATE_COMP=$(date -d $NEXT_DATE +%s)
                            DATE_LIST='{'
                            while [ $NEXT_DATE_COMP -le $END_DATE_COMP ]
                            do
                                      DATE_LIST=$DATE_LIST"'viewdate="$NEXT_DATE"'"
                                    NEXT_DATE=`date +%Y-%m-%d -d "$NEXT_DATE + 1 day"`
                                    NEXT_DATE_COMP=$(date -d $NEXT_DATE +%s)
                            done
                             DATE_LIST=$DATE_LIST | sed -i 's+ +,+g'
                            DATE_LIST=$(echo -n $DATE_LIST | head -c -1)
                            DATE_LIST=$DATE_LIST"}"
                            echo $DATE_LIST
                            #scp -rp $sourceUser@$sourceHost:$srcDir$pathSeperator$DATE_LIST $targetPath$pathSeperator
                            echo "copied the data for the partition viewdate="$DATE_LIST

因此,日期目录列表为 {'dir1' 'dir2'}。所以我漏掉了逗号。

答案1

假设目录名称中没有空格:

echo foo bar baz | sed "s#[^ ]*#'&'#g;s/ /,/g;s/.*/{&}/"

输出:

{'foo','bar','baz'}

相关内容