Shell 如何使用awk命令放弃文件内容的最后一个字段
如何使用awk放弃最后一个字段 list.txt文件包含如下数据:Shell 如何使用awk命令放弃文件内容的最后一个字段,shell,Shell,如何使用awk放弃最后一个字段 list.txt文件包含如下数据: Ram/45/simple Gin/Run/657/No/Sand Ram/Hol/Sin Tan/Tin/Bun Ram/45 Gin/Run/657/No Ram/Hol Tan/Tin 但我需要如下输出 Ram/45/simple Gin/Run/657/No/Sand Ram/Hol/Sin Tan/Tin/Bun Ram/45 Gin/Run/657/No Ram/Hol Tan/Tin 尝试了以下命令,但它只
Ram/45/simple
Gin/Run/657/No/Sand
Ram/Hol/Sin
Tan/Tin/Bun
Ram/45
Gin/Run/657/No
Ram/Hol
Tan/Tin
但我需要如下输出
Ram/45/simple
Gin/Run/657/No/Sand
Ram/Hol/Sin
Tan/Tin/Bun
Ram/45
Gin/Run/657/No
Ram/Hol
Tan/Tin
尝试了以下命令,但它只打印最后一个字段
cat list.txt |awk -F '/' '{print $(NF)}'
45
No
Hol
Tin
使用GNU
awk
,您可以尝试以下操作
awk 'BEGIN{FS=OFS="/"} NF--' Input_file
awk 'BEGIN{FS=OFS="/"} match($0,/.*\//){print substr($0,RSTART,RLENGTH-1)}' Input_file
或使用任何awk
尝试以下操作
awk 'BEGIN{FS=OFS="/"} NF--' Input_file
awk 'BEGIN{FS=OFS="/"} match($0,/.*\//){print substr($0,RSTART,RLENGTH-1)}' Input_file
这个简单的awk应该可以工作:
awk'{sub(/\/[^/]*$/,“”)}1'文件
Ram/45
杜松子酒/润/657/否
Ram/Hol
棕/锡
或者,即使是这种更简单的sed
也可以:
sed的~/[^/]*$~'文件
Ram/45
杜松子酒/润/657/否
Ram/Hol
棕/锡