Linux
Linux Shell:從文件中提取由管道分隔的值
我在文件中有以下值:
line 1: 31915 line 2: Salchipapa|papa|salchicha|aceite|queso
我需要得到土豆、香腸、油、奶酪的值
這意味著我必須從第 2 行第 2 列獲取值。
您可以通過更改將它們全部讀入一個數組
IFS
並保留它們以備將來使用…..OIFS=$IFS; IFS='|'; array=($(sed '2q;d' "$filename")); IFS=$OIFS echo ${array[0]} Salchipapa echo ${array[1]} papa
這樣您就不會將自己限制為任意 10 個值,並且您也不需要稍後測試“null”,因為您知道數組中的元素數量……
echo ${#array[@]} 5
所以你只是….
for (( i=0; i<${#array[@]}; i++ )); do echo ${array[$i]}; done Salchipapa papa salchicha aceite queso