我正在使用Bash Shell脚本来构造一个包含Javascript数组的文本文件。据我对Javascript的了解,数组中的最后一项不能有逗号。在我的Javascript中,这给了我错误。
我有一个由其他代码生成的项目列表,结果看起来像这样:
text0161: "blah",
text0162: "blah blah",
text0163: "blah blah blah",
我需要走最后一行,text0163: "blah blah blah",
并删除结尾的逗号,因此它变为text0163: "blah blah blah"
。
在我处理的这一点上,之后没有任何内容text0163: "blah blah blah"
,因此我只需要查找文件中的最后一行并删除逗号即可。但是,该行的内容可能会更改,因此并不总是完全相同text0163: "blah blah blah",
。它可能会变成几乎所有其他事物,例如text2020: "doobie doobie doo",
。
我知道我可以使用sed删除逗号,如下所示:
sed -i 's@,@@g' file.txt
但是我不知道如何只在最后一行做。
您可以指定特定命令/正则表达式的地址。最后一行由表示$
,因此在您的情况下为:
sed -i '$ s/,$//' file.txt
请注意,我用代替您@
,/
因为它们在正则表达式中更常用。
此正则表达式也仅删除行尾的逗号,例如,如果逗号后有空格或逗号在引用的文本中,则不会将其删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句