从最后一行删除逗号

sha*_*nuo 5 awk grep sed

如何从文件的最后一行删除逗号?这是文件:

# cat ox_data_archive_r_20120727.json
{"name": "secondary_ua","type":"STRING"},
{"name": "request_ip","type":"STRING"},
{"name": "cb","type":"STRING"},
Run Code Online (Sandbox Code Playgroud)

以下将删除所有3行中的逗号.

# sed 's/,$/\ /' ox_data_archive_r_20120727.json
{"name": "secondary_ua","type":"STRING"}
{"name": "request_ip","type":"STRING"}
{"name": "cb","type":"STRING"}
Run Code Online (Sandbox Code Playgroud)

我只需删除最后一个逗号.所以输出应该看起来像这样......

# cat newfile.json
{"name": "secondary_ua","type":"STRING"},
{"name": "request_ip","type":"STRING"},
{"name": "cb","type":"STRING"}
Run Code Online (Sandbox Code Playgroud)

小智 22

$ cat input.txt
{"name": "secondary_ua","type":"STRING"},
{"name": "request_ip","type":"STRING"},
{"name": "cb","type":"STRING"},
$ sed '$s/,$//' < input.txt
{"name": "secondary_ua","type":"STRING"},
{"name": "request_ip","type":"STRING"},
{"name": "cb","type":"STRING"}
Run Code Online (Sandbox Code Playgroud)

GNU sed的文档:

$:此地址与最后一个输入文件的最后一行匹配,或者在指定-i-s选项时匹配每个文件的最后一行.


Sic*_*cco 5

这应该工作:

sed '$ s/,$//g' input_file
Run Code Online (Sandbox Code Playgroud)
  • 第一个$选择最后一行。

您可以添加-i并将sed更改应用到input_file