makefile for loop 問題 - Linux

Ina avatar
By Ina
at 2021-08-06T12:23

Table of Contents

※ 引述《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 %

或許你可以根據需要修改

--
Tags: Linux

All Comments

Ula avatar
By Ula
at 2021-08-10T23:35
另外, for cat 要改 IFS 才可以一行一行讀
Skylar Davis avatar
By Skylar Davis
at 2021-08-15T10:46
可以考慮改用 while read
Rosalind avatar
By Rosalind
at 2021-08-19T21:57
謝謝幫忙,我再試試看,主要要取出字串去當其他指令的參數

shellscript tar問題

Annie avatar
By Annie
at 2021-08-05T21:35
不好意思我又來了... 這幾天遇到一些問題想破頭只想出一點東西 決定還是來跟各位求助.. 因為剛學script 是超級菜雞 寫得很雜亂請大家見諒 #!/bin/bash last_month=$(date -d and#34;$(date +%Y%m)01 last monthand#34; +%Y%m) ...

直立外接螢幕待機後無法重開

Joseph avatar
By Joseph
at 2021-08-05T14:27
Lenovo T530 筆電,作業系統是 Ubuntu 20.04.2 LTS, 顯示卡 Nvidia NVS 5400M,用Mini DP外接了2560x1440的螢幕。 外接螢幕設橫向的時候一切正常,但是設定成轉90度直立的時候,一旦待機關閉螢幕, 就無法再正常顯示,不管是登入畫面還是登入後的畫面都不會 ...

makefile for loop 問題

Megan avatar
By Megan
at 2021-08-04T16:25
想請教一下,如果有這樣一個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 ...

想實現在外面連回家中的Linux主機

Zanna avatar
By Zanna
at 2021-08-03T01:42
目前設定到可以連同一個wifi,可以操作ssh來存取Linux電腦上的檔案 現在想要實現的是 能夠在外面(如連咖啡廳的wifi)也可以連回家中的Linux主機來進行存取, 目前想到的方法是利用teamviewer,這也是我一直操控實驗室電腦的方法 但我只想在terminal存取Linux上的檔案,不需 ...

shellscript tar問題

Isla avatar
By Isla
at 2021-07-31T10:55
請改用xargs find /home/ray/photo -type d -name and#34;202107*and#34; |xargs tar -czvPf /home/ray/photo2 /202107.tar.gz 你用exec的話,他是每找到一筆就會做一次tar的動作,這會把之前的壓縮覆檔 ...