gpt4 book ai didi

unix - 为什么一些 GNU 并行输入包含引号?

转载 作者:行者123 更新时间:2023-12-05 06:25:58 25 4
gpt4 key购买 nike

Gnu 并行输入(例如来自管道)自动将包含空格或符号(例如/和 )的输入单引号括起来:这是有原因的吗?如何在没有任何引号的情况下按原样打印输入?

我尝试使用各种并行选项(如 -q)或使用不同类型的引号将输入嵌入到并行命令中,但是,当输入包含/符号的空格时,它总是以单引号显示。

以下是我尝试过的命令行:

awk '{print "ftp://"$1}' assembly2contig.lst | parallel --dry-run wget '{}'

输出将是

wget 'ftp://mypath'
awk '{print $1}' assembly2contig.lst | parallel --dry-run wget 'ftp://{}'

此命令有效,但我需要在并行内构建我的路径,这对我的情况来说不是很方便,例如当我的输入文件已经包含路径时。

我想得到

wget ftp://mypath

使用 ftp://mypath作为来自管道的并行输入(例如 awk)

最佳答案

引用的原因是为了避免 xargs 中的默认行为:

echo 'two  spaces  lost' | xargs echo
echo 'two spaces kept' | parallel echo

要避免这种情况,您可以使用 eval:

echo 'two  spaces  lost' | parallel eval echo

关于unix - 为什么一些 GNU 并行输入包含引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56566416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com