看板 Programming 關於我們 聯絡資訊
※ 引述《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
MOONRAKER:shell當然用空白分隔 你要字元要用bash 1.34.60.15 10/28 23:55
MOONRAKER:的substr 大概是${a:3:1}這樣 請看man 1.34.60.15 10/29 00:15
MOONRAKER:第幾次就用一個變數累加 bash也有直接 1.34.60.15 10/29 00:16
MOONRAKER:累加的方法不用expr 反正你要學就找一找 1.34.60.15 10/29 00:16