Re: [問題] makefile for loop 問題

看板Linux作者 (Rickie Yang)時間2年前 (2021/08/06 12:23), 編輯推噓0(002)
留言2則, 1人參與, 2年前最新討論串2/3 (看更多)
※ 引述《Wudc (二寶來啦!!)》之銘言: : 想請教一下,如果有這樣一個text file, : Text.txt: : a1 b1 c1 : a2 b2 c2 : ... : a100 b100 c100 : 要怎麼樣在makefile的 for loop 當中用三個變數分別代表 a1~a100 b1~b100 c1~c100呢? : 用 for i in $$(cat Text.txt)這樣的寫法可以取出裡面的字串 : 但這樣沒辦法在一次迴圈中同時取得 a1 b1 c1 : 不得有沒有辦法在一次迴圈中同時取得a1 b1 c1的字串呢? makefile 我不懂, 不過從 shell script 角度來看. rickie@MBP16 0 % cat Text.txt a1 b1 c1 a2 b2 c2 a100 b100 c100 rickie@MBP16 0 % cat Text.sh #!/bin/bash OldIFS=${IFS} IFS=$'\n' for i in $(cat Text.txt) do IFS=${OldIFS} arr=($i) printf "att1:%5s att2:%5s att3:%5s\n" ${arr[0]} ${arr[1]} ${arr[2]} done OBrickie@MBP16 0 % ./Text.sh att1: a1 att2: b1 att3: c1 att1: a2 att2: b2 att3: c2 att1: a100 att2: b100 att3: c100 rickie@MBP16 0 % 或許你可以根據需要修改 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.46.96 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1628223835.A.A11.html

08/06 12:37, 2年前 , 1F
另外, for cat 要改 IFS 才可以一行一行讀
08/06 12:37, 1F

08/06 12:38, 2年前 , 2F
可以考慮改用 while read
08/06 12:38, 2F
文章代碼(AID): #1X3BbReH (Linux)
文章代碼(AID): #1X3BbReH (Linux)