Linux:sed命令如何过滤除first和last之外的所有字段?

ale*_*sil 2 unix linux bash awk sed

我正在尝试使这个脚本过滤来自ps的行...它几乎完成的脚本,只有这行丢失.

例如,这是我需要过滤的一行:

803 ?   (many spaces here)   00:00:00 atd
Run Code Online (Sandbox Code Playgroud)

我需要这样看起来像这样:

803 atd
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有的东西,但似乎一个简单的sed参数不能这样做..如果sed检测到必须被删除的东西,它会删除它之后的整行...如果我错了请纠正我并感谢你的时间..

ДМИ*_*КОВ 5

好像你正在寻找一个awk.

awk '{print $1 " " $NF}'打印每个输入行的第1个字段和最后一个字段.NF实际上是一些领域.

$> echo "803 ? (many spaces here) 00:00:00 atd" | awk '{print $1 " " $NF}'
803 atd
Run Code Online (Sandbox Code Playgroud)