我有一個文件:AWK,函數getline - 刪除最後一個字段
Srednia ocen Wojciech Zieba: 3.83
Srednia ocen Jakub Pelc: 3.76
Srednia ocen Jan Resiak: 3.90
我想提高命令:
1.
$ awk 'BEGIN{ while(getline $0 < "file") sub($NF,"",$0); print $0}'
Srednia ocen Jan Resiak:
[email protected]:~
2.
$ awk 'BEGIN{ while(getline a < "file") sub($NF,"", a); print a}'
Srednia ocen Jan Resiak: 3.90
[email protected]:~/Pulpit$
我必須通過getline來完成。我的例子只是腳本的一部分。我想刪除最後一個字段並打印結果:
Srednia ocen Wojciech Zieba:
Srednia ocen Jakub Pelc:
Srednia ocen Jan Resiak:
感謝您的幫助。
編輯:
但這種方式不打印剩餘字段:
$ awk 'BEGIN{ while(getline a < "file") {sub(/[^:]*$/,"",a); print a, $1, $3}}'
Srednia ocen Wojciech Zieba:
Srednia ocen Jakub Pelc:
Srednia ocen Jan Resiak:
[email protected]:~/Pulpit$
此命令打印的所有字段:
$ awk 'BEGIN{ while(getline $0 < "file") {sub($NF,"",$0); print $0, $1, $3}}'
Srednia ocen Wojciech Zieba: Srednia Wojciech
Srednia ocen Jakub Pelc: Srednia Jakub
Srednia ocen Jan Resiak: Srednia Jan
[email protected]:~/Pulpit$
如何提高第一命令?我想先指揮這個領域的共享線。
編輯-1:
我想提高命令:
awk 'BEGIN{ while(getline a < "file") {sub(/[^:]*$/,"",a); print a, $1, $3}}'
我想打印結果:
Srednia ocen Wojciech Zieba: Srednia Wojciech
Srednia ocen Jakub Pelc: Srednia Jakub
Srednia ocen Jan Resiak: Srednia Jan
請加上預期的輸出。 – Thor
Thor - >請參閱我的編輯-1。 – Tedee12345