作者sopranino (讓我想一想)
站內Programming
標題Re: [問題] shell的問題
時間Mon Oct 28 22:45:51 2013
※ 引述《sopranino (讓我想一想)》之銘言:
: 請問,如果我有一個a.txt,內容為
: aaa
: bbb
: ccc
: 我想在另一個b.sh裡用一個for迴圈
: 依次處理a.txt裡的每一行
: 我該怎麼寫呢?
: 感謝
感謝兩位大大的回答,再請問一下
如果我的a.txt的內容為
mov a0, a1
add b0, b1
我的b.sh的內容為
cat a.txt |
while read line
do
for token in $line
do
echo -n $token
done
echo
done
我單步執行發現shell會以單字為單位來抓取
第一次印出mov,第二次印出a0,,第三次印出a1
但是shell是如何知道我想要以單字為單位,還是以字元(char)為單位呢?
另外,如果我想要在for token in $line這個迴圈裡面判斷現在是第幾次進迴圈
像C裡面for(i=0; i<10; i++)可以用i來判斷
那shell有什麼方法可以判斷嗎?
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.161.26.52
1F:→ MOONRAKER:shell當然用空白分隔 你要字元要用bash 1.34.60.15 10/28 23:55
2F:→ MOONRAKER:的substr 大概是${a:3:1}這樣 請看man 1.34.60.15 10/29 00:15
3F:→ MOONRAKER:第幾次就用一個變數累加 bash也有直接 1.34.60.15 10/29 00:16
4F:→ MOONRAKER:累加的方法不用expr 反正你要學就找一找 1.34.60.15 10/29 00:16