oct*_*ian 1 shell terminal awk sed
我有一个像这样的行的文件:
A, B, C, D, E
Run Code Online (Sandbox Code Playgroud)
从中,我想获得:
A, B, C
Run Code Online (Sandbox Code Playgroud)
我可以为此使用 sed 或 awk 吗?
是的你可以:
sed -r 's/([^,]+,)([^,]+,)([^,]+).*/\1\2\3/'
Run Code Online (Sandbox Code Playgroud)
如果您想保留三个以上的字段,那么沿着这些方向可能会更好:
sed -r 's/(([^,]+,){2}([^,]+)).*/\1/'
Run Code Online (Sandbox Code Playgroud)
使用awk,您可以执行以下操作:
awk -v OFS=',' -F, '{NF=3; print}'
Run Code Online (Sandbox Code Playgroud)