作者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