我需要脚步帮助

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

我需要脚步帮助

#1

帖子 eexpress » 2005-09-20 13:00

有个文件列表。desktop.file
需要用for I in 'less desktop.file'
取得每一行的文件名。
● 鸣学
头像
oneleaf
论坛管理员
帖子: 10231
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 103 次

#2

帖子 oneleaf » 2005-09-20 13:05

#取得行号,循环
line=$(awk 'END{print NR}' desktop.file)
i=1;
while((i<=line));do
line=`awk 'NR=='"$i"'' desktop.file`

......

((i++))
done
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#3

帖子 eexpress » 2005-09-20 13:09

没有不要awk的写法?
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#4

帖子 eexpress » 2005-09-20 13:17

我这样写。for I in `less desktop.file|grep desk`
每行都有desk。但是空格路径不行。
● 鸣学
头像
oneleaf
论坛管理员
帖子: 10231
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 103 次

#5

帖子 oneleaf » 2005-09-20 13:19

lines=`cat desktop.file`
for line in $lines ; do
echo $line
done
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#6

帖子 eexpress » 2005-09-20 13:42

sed s/\ /\\\ /g desktop.file1
把空格变成"\ ",怎么搞。
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#7

帖子 eexpress » 2005-09-20 13:43

sed 's/\ /\\\ /g' desktop.file1 这样可以
● 鸣学
回复

回到 “Shell脚本”