您好,登錄后才能下訂單哦!
小編給大家分享一下使用linux的mapfile命令從標準輸入讀取行并賦值到數組,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
mapfile命令用于從標準輸入或文件描述符讀取行并賦值到數組
語法格式: mapfile [參數]
常用參數:
參考實例
先創建一個示例用的文件alpha.log,每行一個小寫字母,共26行:
[root@linuxcool ~]# echo {a..z} | tr " " "\n" >alpha.log [root@linuxcool ~]# cat alpha.log a b c d e f g h i j k l m n o p q r s t u v w x y z
讀取alpha.log文件并將每一行存儲到數組myarr中(如果不指定,則存儲到默認的MAPFILE數組中):
[root@linuxcool ~]# mapfile myarr <alpha.log [root@linuxcool ~]# echo ${myarr[@]} a b c d e f g h i j k l m n o p q r s t u v w x y z [root@linuxcool ~]# echo ${myarr[2]} c
從標準輸入中獲取最多6行數據:
[root@linuxcool ~]# mapfile -n 6 myarr <alpha.log [root@linuxcool ~]# echo ${myarr[2]} c [root@linuxcool ~]# echo ${myarr[@]} a b c d e f
從數組下標為6的位置開始賦值:
[root@linuxcool ~]# mapfile -O 6 myarr <alpha.log [root@linuxcool ~]# echo ${myarr[@]} g h i j k l a b c d e f g h i j k l m n o p q r s t u v w x y z
跳過對前6行的讀取:
[root@linuxcool ~]# mapfile -s 6 myarr <alpha.log [root@linuxcool ~]# echo ${myarr[@]} g h i j k l m n o p q r s t u v w x y z
看完了這篇文章,相信你對使用linux的mapfile命令從標準輸入讀取行并賦值到數組有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。