分页: 1 / 1

请教一个题目

发表于 : 2010-12-11 13:07
linbocn
谢谢各位。搞好了

Re: 请教一个题目

发表于 : 2010-12-11 14:16
trigger
sed "s#\(^[^:]*\)[^/]*\(/.*\)#\1\ 's home is \2 #" /etc/passwd

Re: 请教一个题目

发表于 : 2010-12-11 14:43
trigger

代码: 全选

#! /usr/bin/perl
open(PASSWD , "/etc/passwd");
chomp(@pws = <PASSWD>);
for (@pws) {
  @line = split /:[^\/]+/;
  print "$line[0] 's home is $line[1]\n";
}

Re: 请教一个题目

发表于 : 2010-12-11 14:52
trigger
如果没有中间的“'s home is”,cut也行
cut -f 1,6- -d":" /etc/passwd

Re: 请教一个题目

发表于 : 2010-12-11 21:40
linbocn
trigger 写了:

代码: 全选

#! /usr/bin/perl
open(PASSWD , "/etc/passwd");
chomp(@pws = <PASSWD>);
for (@pws) {
  @line = split /:[^\/]+/;
  print "$line[0] 's home is $line[1]\n";
}
报错了 syntax error near unexpected token `PASSWD'

Re: 请教一个题目

发表于 : 2010-12-12 7:57
trigger
你是怎么执行的?

Re: 请教一个题目

发表于 : 2010-12-12 12:57
linbocn
可以了。谢谢

Re: 请教一个题目

发表于 : 2010-12-12 13:31
link_01
[bash]
awk -F : '{ print $1 "'\''s home directory is " $6 }' /etc/passwd
[/bash]

Re: 请教一个题目

发表于 : 2010-12-12 14:05
trigger
楼上怎么弄的GeSHi?需要什么论坛权限吗?

Re: 请教一个题目

发表于 : 2010-12-14 20:42
虚空中的幻影
trigger 写了:你是怎么执行的?
应该怎么执行?

Re: 请教一个题目

发表于 : 2010-12-15 13:30
link_01
trigger 写了:楼上怎么弄的GeSHi?需要什么论坛权限吗?
不需要权限的,就是把[code"][/code】换成相应的名字,如c,bash等
"["bash]ls -al[/bash]

Re: 请教一个题目

发表于 : 2011-01-05 17:01
禁飞区
print $1 "'\''s home directory is " $6

这个表达有意思,学习了:)

Re: 请教一个题目

发表于 : 2011-01-06 16:23
realfiona

代码: 全选

#!/bin/bash

FILE="/etc/passwd"

while read line; do
    [ "$line" == "::::::" ] && continue
    echo $line | cut -d":" -f1,6 | \
        sed -n -e "s/\(.*\):\(.*\)/\1's home directory is \2./p"
done < $FILE

Re: 请教一个题目

发表于 : 2011-01-21 10:16
byZh
围观9楼

Re: 请教一个题目

发表于 : 2011-01-26 21:23
MaskRay

代码: 全选

#!/usr/bin/expect --
log_user 0
set f [open /etc/passwd]
spawn -noecho -open $f
expect {
    -re {([^:]*):[^:]*:[^:]*:[^:]*:[^:]*:([^:]*)[^\n]*\n} {
        puts "$expect_out(1,string)'s home is $expect_out(2,string)"
        exp_continue
    }
    eof
}
wait