读取文本行进行处理。这么难啊。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
读取文本行进行处理。这么难啊。
for i in tmp "Exec ${fvwm}root-关机" "Pick Destroy" Restart
可以处理空格。下划线部分是一个文件的4行内容。
for i in `awk '{printf(" \"%s\"",$0)}' auto-menu.ini`
就根本不能处理空格了。输出是一样的结果。放到变量line里面,数据一样的。
for i in $line
也不行。
网上只看到用一个递增的计数变量cnt,每次用awk数出第cnt行,用while处理的。
read的数组,使用*输出都不行。这for 循环太不好用了。
可以处理空格。下划线部分是一个文件的4行内容。
for i in `awk '{printf(" \"%s\"",$0)}' auto-menu.ini`
就根本不能处理空格了。输出是一样的结果。放到变量line里面,数据一样的。
for i in $line
也不行。
网上只看到用一个递增的计数变量cnt,每次用awk数出第cnt行,用while处理的。
read的数组,使用*输出都不行。这for 循环太不好用了。
● 鸣学
- 5451vs5451
- 帖子: 345
- 注册时间: 2006-07-14 18:56
- 来自: Apple Valley, Planet Tux, Linux System
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- laborer
- 帖子: 1016
- 注册时间: 2005-10-25 11:15
- 联系:
嗯,bash的这种foreach的用法有时确实不是太好使,一般用下面这个方法凑合一下也行
就是把分割符号定义为\n,不过如果是列文件名,而且文件名中包含回车,那也会很不爽,当然这种情况很少见。
代码: 全选
IFS='\n'
for i in `cat <<_EOF_
test test test
test test
test
_EOF_`; do
echo $i
done
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- 5451vs5451
- 帖子: 345
- 注册时间: 2006-07-14 18:56
- 来自: Apple Valley, Planet Tux, Linux System
今天看到这种用法,跟awk很类似了。
代码: 全选
for ((i=1; i<3; i++)); do
echo $i
done
- 5451vs5451
- 帖子: 345
- 注册时间: 2006-07-14 18:56
- 来自: Apple Valley, Planet Tux, Linux System
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- 5451vs5451
- 帖子: 345
- 注册时间: 2006-07-14 18:56
- 来自: Apple Valley, Planet Tux, Linux System
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- 5451vs5451
- 帖子: 345
- 注册时间: 2006-07-14 18:56
- 来自: Apple Valley, Planet Tux, Linux System
- 5451vs5451
- 帖子: 345
- 注册时间: 2006-07-14 18:56
- 来自: Apple Valley, Planet Tux, Linux System
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- 5451vs5451
- 帖子: 345
- 注册时间: 2006-07-14 18:56
- 来自: Apple Valley, Planet Tux, Linux System