Bash

Bash拆分字符串

Bash拆分字符串

在本主題中,我們定義了在bash shell腳本中分割字符串的方法。

在某些情況下,我們需要分割字符串數據來執行一些特定的任務。大多數編程語言都有內置的'split'函數來將任何字符串數據分割成不同的部分。但是,bash不包含這樣的內置函數。但是我們將在bash腳本中使用分隔符分隔任何字符串數據。分隔符通常是一個字符或包含多個字符的字符串。

查看下麵的方法,了解在bash shell中拆分字符串的方法:

使用$IFS變量拆分

下麵是使用$IFS在bash中分離字符串的步驟:

$IFS可能是一個特殊的內部變量,用於將字符串拆分為單詞。$IFS變量名為“內部字段分隔符”,它決定了Bash如何識別邊界。$IFS用於分配精確的分隔符[IFS= "]用於分隔字符串。空格可以是$IFS的默認值。但是,我們也會使用'\t', '\n', '-'等值,因為分隔符。

在指定分隔符後,字符串通常由兩個選項讀取:'-r'和'-a'。即,讀-ra ARR

例二:

按空格分割字符串。

#!/bin/bash #以空格分隔字符串read -p "輸入任意以空格分隔的字符串:" str #讀取字符串值IFS= " #設置空格作為分隔符read -ra ADDR <<<"$str" #讀取str作為數組,以IFS分隔i in "${ADDR[@]}";#訪問數組中的每個元素

給定代碼的輸出是:

Baidu
map