2011-11-22 51 views
0

我使用bash腳本需要其電網從X更改戰艦遊戲 - d

的目的是顯示從測試文件輸出到網格樣式的程序。

以我output.txt的其上存儲直到$ l爲A1,A2,A3,A4,C1,C2

我有一個函數,低於該將顯示以下

mark_seat() {

# Called by display_seats 
if [ $(echo "$1" | grep -c "$2$3") -gt 0 ] 
then  

    echo -en '\E[1;35mX\E[0m' 
     set_colwidth "" 5 

else 

     set_colwidth "" 6 
fi 

}

如果無法在我的$ L來檢測類似的數據,它會給出一個空間,如下圖所示。

我的問題是能夠設定C1,C2作爲破壞者船因此當它顯示輸出,則顯示「d」而不是「X」。

http://www.flickr.com/photos/[email protected]/6381735021/

+0

您如何知道它是從原始數據的破壞者? Bash可以做的if/else塊,這樣你就可以與像你原來的輸出額外的條款做到這一點。 –

回答

0

你可以用字符串操作做到這一點

假設位置存儲這樣一個字符串代表一行

A_ROW="____X_____" 
echo ${A_ROW:0:4}D${A_ROW:5:4} 
____D_____ 

然而,也有竅門能讓角色的連續排名

ASTRING="abcdefg" 
POS_d=${ASTRING%d*} 
echo position of d is ${#POS_d} 
#note that POS_d is actually the string abc and ${#POS_d} is the length of abc 
#since values start at 0, this is the position of d 
#if you have multiple occurrences you can do this multiple times