一對夫婦一般提示的(除了DOS行結束的問題):
cat
是串聯的文件,這是不是一個可以讀取文件的唯一工具!如果某個命令不讀取文件,則使用重定向,如。
您可以設置與-F
選項字段分隔所以不是:
cat foo | awk 'BEGIN{FS="|"} {print $2 " " $1}'
嘗試:
awk -F'|' '{print $2" "$1}' foo
這將輸出:
com.emailclient.account [email protected]
com.socialsite.auth.accoun [email protected]
以獲得所需的輸出你可以做很多事情。我可能會split()
第二場:
awk -F'|' '{split($2,a,".");print a[2]" "$1}' file
emailclient [email protected]
socialsite [email protected]
最後拿到的第一個字符轉換爲大寫是awk
有點痛的,你沒有一個很好的內置ucfirst()
功能:
awk -F'|' '{split($2,a,".");print toupper(substr(a[2],1,1)) substr(a[2],2),$1}' file
Emailclient [email protected]
Socialsite [email protected]
如果你想要的東西更簡潔(雖然你放棄了一個子進程)你可以這樣做:
awk -F'|' '{split($2,a,".");print a[2]" "$1}' file | sed 's/^./\U&/'
Emailclient [email protected]
Socialsite [email protected]
謝謝,這也是*非常有用! – Sazzy 2013-03-24 16:31:42