提问人:mohsinali1317 提问时间:10/3/2021 最后编辑:Cyrusmohsinali1317 更新时间:10/4/2021 访问量:62
将命令的输出存储在变量 [closed] 中
Store output of a command in a variable [closed]
问:
在我的 mac 终端中,我试图将命令的输出存储到这样的变量中
$ animals=$(cat animals.txt | head -n $plusOne | tail -n $numberofanimals | sort -u | sed -E "s/[*#/@2]//g; s/D/d/g ; s/G/g/g ; s/E/e/g ; s/H/h/g ; s/O/o/g ; s/C/c/g ; s/[!]//g”)
>
但它不起作用。当我按下时,我会在下一行收到提示。知道为什么吗?Enter>
答:
3赞
John Kugelman
#1
您在行尾有一个智能引号,而不是常规的双引号。”
"
评论
0赞
Charles Duffy
10/3/2021
这难道不会使接近错别字的问题符合条件吗?(当然,与其说是错别字,不如说是从为文字处理或出版而不是软件开发而构建的软件中复制/粘贴)。
0赞
John Kugelman
10/4/2021
确实如此。我已经投票并撤回了,所以我不能重新投票。
评论
/
s/[*#\/@2]//g;
”
莫。它们不可互换。"
cat | head | tail
可以完全用 SED 完成。除非排序取决于您使用 sed 进行的翻译,否则您可以将整个管道替换为sed -e "1,$(($plusOne - $numberofanimals))d" -e 's/[*#/@2!]//' -e 'y/DGEHOC/dgehoc/' -e "${plusOne}q" animals.txt