gpt4 book ai didi

linux - 替换命令的问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:55 26 4
gpt4 key购买 nike

我对替换命令有一些问题。

输入文件我有这个

{a[$1]=a[$1]FS$2}END{for(i in a) print i,a[i]}

我想用单引号代替

'{a[$1]=a[$1]FS$2}END{for(i in a) print i,a[i]}'

使用下面提到的命令

find input.txt -exec sed 's/{a[$1]=a[$1]FS$2}END{for(i in a) print i,a[i]}/'{a[$1]=a[$1]FS$2}END{for(i in a) print i,a[i]}'/g' {} \;

我遇到这样的错误

bash: syntax error near unexpected token `('

最佳答案

首先,您不能轻易地在用单引号分隔的参数中插入文字单引号。
您必须将 ' 替换为 '"'"''\''
作为猜测这个问题的提示,在这里,投诉来自 shell,这意味着即使你的命令行格式不正确。

其次,您应该知道美元和圆括号是 sed 正则表达式中的特殊字符。你可能不得不逃避他们。阅读 man sed 以获得更多详细信息。

第三,我不确定find input.txt 是否有效。我猜你的意思是 find 。 -type f -name input.txt?

关于linux - 替换命令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3924169/

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