passwd 资料行读取

passwd 资料行读取

passwd 文件行读取

本帖最后由 julius_lee 于 2012-11-22 16:01:02 编辑
请问passwd文件中如下面的行:
hplip:x:105:7:HPLIP system user,,,:/var/run/hplip:/bin/false
polkituser:x:108:115:PolicyKit,,,:/var/run/PolicyKit:/bin/false
ftp:x:110:120:ftp daemon,,,:/srv/ftp:/bin/false
红色处标记的两个字符串,它们间用空格隔开
如果我想用for line读取该文件会因为这个空格产生问题,比如:
  1 #!/bin/bash
  2 file=pass
  3 num=0
  4 for line in `cat $file`
  5 do
  6         echo “the $num line is $line”
  7         num=$(($num+1))
  8 done    

yee@Loong:~/shell$ sh b.sh 
the 0 line is Debian-exim:x:104:110::/var/spool/exim4:/bin/false
the 1 line is hplip:x:105:7:HPLIP
the 2 line is system
the 3 line is user,,,:/var/run/hplip:/bin/false
the 4 line is polkituser:x:108:115:PolicyKit,,,:/var/run/PolicyKit:/bin/false
the 5 line is ftp:x:110:120:ftp
the 6 line is daemon,,,:/srv/ftp:/bin/false

因为该行有空格,有空格就当做另一行的开始,如果我想读取整行如何处理呢?(不想先除去空格,生成中间文件,想一步读取。)

while read line
do 
   echo $line
done < filename

passwd 资料行读取

相关文章:

你感兴趣的文章:

标签云: