我有test.json不同长度的行的文件。一些虚构的例子:
{ a: 123, b: sd, c: x45, d: 1, e: '' }
{ a: 5, b: bfgg, c: x4c, d: 31, e: '' }
Run Code Online (Sandbox Code Playgroud)
我想在d- 部分之后剪切整个子字符串并返回每一行:
{ a: 123, b: sd, c: x45 }
{ a: 5, b: bfgg, c: x4c }
Run Code Online (Sandbox Code Playgroud)
echo test.json | sed 's/. d:/' > newtest.json
Run Code Online (Sandbox Code Playgroud)
我需要为整个文件做这件事,而不仅仅是一行。
例如我有一个看起来像的 scv 文件
a1, b1, c1, d1
a2, b2, c2, d2
a3, b3, c3, d3
Run Code Online (Sandbox Code Playgroud)
我想要做的是,用分号替换第一个逗号;。第一个逗号的位置可以是可变的(a在行中n并且m可以有不同的长度)。最后我的文件看起来像
a1; b1, c1, d1
a2; b2, c2, d2
a3; b3, c3, d3
Run Code Online (Sandbox Code Playgroud)
其他逗号必须保留。有人可以告诉我最简单的解决方案吗?
PS我的解决方案不起作用: sed '/s/,/;/g' file.csv
例如,我有一些测试文件,想按列值对其进行排序。后
awk -F'[:,]' '{print $16}' test.json
Run Code Online (Sandbox Code Playgroud)
我得到第 16 列的下一个输出:
123
457
68
11
939
11
345
9
199
13745
Run Code Online (Sandbox Code Playgroud)
现在,当我想对它进行数字排序时,我使用
awk -F'[:,]' '{print $16}' test.json | sort -nk16
Run Code Online (Sandbox Code Playgroud)
但我只是回来而不是数字排序......
11
11
123
13745
199
345
457
68
9
939
Run Code Online (Sandbox Code Playgroud)
原因是什么,我认为-n参数足以进行数字排序......