【发布时间】:2023-04-09 09:49:01
【问题描述】:
我正在尝试修改 groups.tsv 文件(我在 repl.it 上,所以文件路径很好)。 文件中的每一行如下所示:
组名\t数量\t最后添加
我正在尝试计算groupname($nomgrp) 和login($login) 的出现次数,并将lastadded 更改为登录。
varcol2=$(grep "$nomgrp" groups | cut "-d " -f2- | awk -F"\t" '{print $2}' )
((varcol21=varcol2+1));
varcol3=$(awk -F"\t" '{print $3}' groups)
sed -i "s|${nomgrp}\t${varcol2}\t$varcol3|${nomgrp}\t${varcol21}\t${login}|" groups
但是,我收到了错误消息:
sed : -e expression #1, char 27: unterminated 's' command
组文件有诸如" sudo 2 user1" 之类的行(用制表符分隔):用户输入"user" 存储在$login 中,然后"sudo" 存储在$nomgrp 中。
我做错了什么?
对不起,如果这个问题已经得到解答/超级容易解决,我是这里的新手......
【问题讨论】:
-
可能其中一个变量包含
|字符。尝试其他分隔符。 -
尝试使用 _ ; / 和 \ 。它们都不起作用
-
@aveillon,如果您可以在有关输入样本和预期输出样本的问题中告诉我们,这将有助于我们在这里为您提供更多帮助。请编辑您的问题,然后告诉我们。
-
通过输入编辑了我的问题,希望对您有所帮助,如果您需要,请随时询问