1
指數,我想知道是否有做在bash下面的一個優雅的方式:匹配值根據在bash
我需要檢查列表一定價值,讓稱它爲「1」。對於我找到這個值的每個條目,我需要在另一個列表中累積一個匹配的字符串(具有相同的索引),並最終將其打印出來。
例如: 讓我們假設值的列表是"1 0 1 1 "
和字符串列表是"What a wonderful day"
所以輸出字符串將"What wonderful day"
感謝
指數,我想知道是否有做在bash下面的一個優雅的方式:匹配值根據在bash
我需要檢查列表一定價值,讓稱它爲「1」。對於我找到這個值的每個條目,我需要在另一個列表中累積一個匹配的字符串(具有相同的索引),並最終將其打印出來。
例如: 讓我們假設值的列表是"1 0 1 1 "
和字符串列表是"What a wonderful day"
所以輸出字符串將"What wonderful day"
感謝
這裏我的建議解決方案:
#!/bin/sh
myMatch=1 #This is the value you're looking for
myString="What a wonderful day";
myList=($myString) #String to Array conversion
count=0;
for i in [email protected]; do #Iterate over the input parameters
if [ $i -eq $myMatch ]; then
echo -n "${myList[$count]} " #use -n to avoid newline and append space as a separator
count=$(($count+1))
fi
done
所以調用腳本給出的值的列表:
$ . myScript.sh 1 0 1 1
你想要的結果。
列表值如何與字符串關聯?對於值「1」,這是如何與字符串綁定的? – suspectus 2013-03-20 09:35:01
按其索引。如果索引0中有「1」,那麼字符串列表中索引爲0的字符串應累積起來 – 2013-03-20 09:49:43
好的謝謝。所以在這個例子中,精彩的有索引2.這些列表是否存儲在文件中? – suspectus 2013-03-20 09:52:55