字段分隔符和迭代器

    內部字段分隔符(Internal Field Separator)是shell腳本編程中的一個重要概念。在處理文本數據時,有很大的作用。內部字段分隔符是用于特定用途的定界符,IFS是存儲定界符的環境變量,它是當前shell環境中使用的默認定界符字符串。

    例一:data="name,sex,rollo,location"

我們可以使用IFS讀取變量中的每一個條目

28.png輸出如下29.png

   IFS的默認值為空白符(換行符,制表符或者空格)

   當IFS被設置為逗號時,shell將逗號視為一個定界符,因此變量$Item在每次迭代中讀取由逗號分隔的子串作為變量值。如果沒有把IFS設置為逗號,那么上面的腳本會將全部數據作為單個字符串打印出來。

    

    例二:以/etc/passwd為例,利用IFS的用法,取出每一位用戶使用的shell類型,腳本如下

30.png

運行腳本顯示的結果就是/etc/passwd中每位用戶的shell類型,運行結果如下,顯示部分截圖

31.png

對一系列值進行迭代時,循環非常有用

部分內容摘自《Linux shell 腳本攻略》

原創文章,作者:black_fish,如若轉載,請注明出處:http://www.www58058.com/35746

(0)
black_fishblack_fish
上一篇 2016-08-15 11:58
下一篇 2016-08-15 11:59

相關推薦

  • btr文件系統與網絡基礎

    btrfs文件系統技術預覽版Btrfs (B-tree, Butter FS, Better FS), GPL, Oracle, 2007, CoW核心特性:多物理卷支持:btrfs可由多個底層物理卷組成;支持RAID,以及聯機“添加”、“移除”,“修改”寫時復制更新機制(CoW):復制、更新及替換指針,而非“就地”更新數據及元數據校驗碼:checksum子…

    Linux干貨 2016-09-02
  • case條件判斷語句

    條件判斷: case語句     在shell編程中,對于多分支判斷,用if 雖然也可以實現,但有些時候,寫起來很麻煩,也不容易代碼理解。這個時候,可以考慮case。 case 變量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; … *) 默認分支 ;; esac case語句結構特點如下:…

    Linux干貨 2016-08-16
  • keepalived實戰之小試牛刀

    keepalived是什么 keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似于heartbeat,用來防止單點故障。 keepalived工作原理 keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協議。 虛擬路由冗余協議,可以認為是實現路…

    Linux干貨 2017-06-24
  • 第一周 Linux基礎知識

    Linux基礎

    2018-03-18
  • 馬哥教育網絡班21期+第5周課程練習

    1.顯示/boot/grub/grub.conf中至少以一個空白字符開頭的行 [root@itop ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2.顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面至少一個空白字符,而后又有至少一個非空…

    Linux干貨 2016-08-08
  • History,Help——Linux基本命令(6)

    1.     history   當你在玩Linux的時候,如果你經常使用命令行來控制你的Linux系統,那么有效地使用命令歷史機制將會使效率獲得極大提升。 history是shell的內置命令,其內容在系統默認的shell的man手冊中。 一些用法: history[-c] [-d offset] [n] …

    2017-07-15
欧美性久久久久