Tcsh
如何拆分和訪問以冒號分隔的欄位?
這段程式碼:
foreach line (`cat /etc/group`) echo $line end
返回
line
包含由 . 分隔的 4 個欄位:
。如何拆分欄位並訪問每個欄位的第一個欄位
line
?
foreach line ("`cat /etc/group`") set fs = ($line:gas/:/ /) set f = ($fs) echo "$f[1]" end
在
tcsh
你可以省略中間fs
變數,直接set f = ($line:gas/:/ /)
.變數修飾符將用(是一個簡單的文本,不辨識正則表達式) 替換變數中的
:s/pat/rpl/
每個出現。標誌告訴替換所有出現,並且標誌在所有單詞中進行替換。pat``rpl``pat``a``g
如果使用原始文件
csh
並且/etc/group
文件包含 glob 元字元,則必須將循環括在set noglob
/unset noglob
對中。