|
|
第 16 帖 | |
|
|
针对下面的文件内容:
09:58:36.03 2 IMAP-27587 '1001' connected from 09:58:37.58 2 IMAP-27587 '1001' disconnected 09:58:42.84 2 POP-55513 'lujian' connected from 我要显示包含“POP”和"connected from"的行,怎么用grep命令? |
|
|
|
|
|
|
|
第 17 帖 | |
|
|
grep两次,用pipe
__________________
发行版再好,不如自己做的lfs好。 |
|
|
|
|
|
|
|
第 18 帖 | |
|
|
ykwj121兄,能不能用sed命令实现"显示文件内容,把姓和名颠倒"这个问题呢? 你用了多个cut命令,固然可以完成,但是题目的用意是用sed来实现,恕小弟愚昧
![]() |
|
|
|
|
|
|
|
第 19 帖 | |
|
|
呵呵,偶暂时没招了:o
你有什么可以赐教的吗? |
|
|
|
|
|
|
|
第 20 帖 | |
|
|
我也没作出来呢:( sed的命令集很多,我觉得是不是用r/w/x/h命令是不是可以呢?
不过兄弟你的思路不错,谢谢~ 让我们努力吧 ![]() |
|
|
|
|
|
|
|
第 21 帖 | |
|
|
第10题可以这样:
#!/bin/sh awk 'BEGIN {print "PERSONNEL FILE\n"} {print $0}' datafile > datafile1 sed '/500$/d' datafile1 > datafile2 sed -e 's/[:::]/ /' datafile2 > datafile1 awk '{print $2,$1,$3,$4,$5,$6,$7}' datafile1 > datafile2 awk 'END {print "THE END"} {print $0}' datafile2 > datafile1 |
|
|
|
|
|
|
|
第 22 帖 | |
|
|
sed '/500$/d' datafile1 > datafile2
这一行删除了以500结尾的行,而不是工资吧。 题目说“删除以500结尾的工资”,应该是把工资这个数删掉吧。 呵呵,我也不知道我理解的是不是对 ![]() |
|
|
|
|
|
|
|
第 23 帖 | |
|
|
删除工资可以这样:
sed -e 's/[0-9]\{2,3\}500$//' datafile |
|
|
|
|
|
|
|
第 24 帖 | |
|
|
en,这个可以的。不过只能删除500前面有2个或者3个数字的,不妥,万一有多一位或者少一位的,就不对了。
BTW:我不是故意坑你哦,我只是觉得这样追究可以让大家学到更多东西,你不介意我老这样钻空子吧? ![]() |
|
|
|
|
|
|
|
第 25 帖 | |
|
|
那也简单这样就行了吧:
sed -e 's/[0-9]\{1,9\}500$//' datafile 呵呵,只要能学到东西,钻空子又何妨。。。 |
|
|
|
|
|
|
|
第 26 帖 | |
|
|
那偶就放心了。
你有没有考虑不用临时文件,把你的第十题用一句来实现? |
|
|
|
|
|
|
|
第 27 帖 | |
|
|
用一句语句实现:
sed -e 's/[0-9]\{1,9\}500$//' datafile | sed -e 's/[:::]/ /' | awk '{print $2,$1,$3,$4,$5,$6,$7,$8,$9}'| awk 'BEGIN {print "PERSONNEL FILE\n"} {print $0}' | awk 'END {print "THE END"} {print $0}' |
|
|
|
|
|
|
|
第 28 帖 | |
|
|
标题: 呵呵,好热闹 我也来凑一凑热闹。
1.把Jon的名字改成Jonathan. xie 0$ grep Jon sed.dat Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 xie 0$ grep Jon sed.dat | sed -e 's/Jon/Jonathan/g' Jonathan DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 2.删除头三行 xie 0$ cat -n sed.dat | sed -e '1,3d' 4 Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700 5 Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 6 Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 7 Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92086:7/25/53:85100 8 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 9 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 10 Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 11 Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 12 Lori Gortz:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200 13 Paco Gutierrez:835-365-1284:454 Easy Street, Decatur, IL 75732:2/28/53:123500 14 Ephram Hardy:293-259-5395:235 CarltonLane, Joliet, IL 73858:8/12/20:56700 15 James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 16 Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500 17 Lesley Kirstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600 18 William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500 19 Sir Lancelot:837-835-8257:474 Camelot Boulevard, Bath, WY 28356:5/13/69:24500 20 Jesse Neal:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000 21 Zippy Pinhead:834-823-8319:2356 Bizarro Ave., Farmount, IL 84357:1/1/67:89500 22 Arthur Putie:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000 23 Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 24 Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600 25 Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200 26 Yukio Takeshida:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000 27 Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900 3.显示5-10行 xie 0$ cat -n sed.dat | sed -ne '5,10p' 5 Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 6 Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 7 Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92086:7/25/53:85100 8 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 9 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 10 Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 4.删除包含Lane的行. xie 0$ cat -n sed.dat | sed -e '/Lane/d' 3 Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400 4 Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700 5 Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 6 Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 7 Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92086:7/25/53:85100 8 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 9 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 12 Lori Gortz:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200 13 Paco Gutierrez:835-365-1284:454 Easy Street, Decatur, IL 75732:2/28/53:123500 15 James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 16 Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500 17 Lesley Kirstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600 18 William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500 19 Sir Lancelot:837-835-8257:474 Camelot Boulevard, Bath, WY 28356:5/13/69:24500 20 Jesse Neal:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000 21 Zippy Pinhead:834-823-8319:2356 Bizarro Ave., Farmount, IL 84357:1/1/67:89500 23 Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 24 Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600 25 Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200 27 Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900 xie 0$ cat -n sed.dat | sed -e '/Lane/d' | wc -l 20 |
|
|
|
|
|
|
|
第 29 帖 | |
|
|
5.显示所有生日在November-December之间的行
xie 0$ cat -n sed.dat | sed -ne '\$:1[12]/$p' 1 teve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 8 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 9 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 15 James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 16 Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500 6.把三个星号(***)添加到以Fred开头的行 xie 0$ sed -e 's/Fred/***Fred/g' sed.dat teve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500 Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400 Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700 Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92086:7/25/53:85100 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 ***Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 ***Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 Lori Gortz:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200 Paco Gutierrez:835-365-1284:454 Easy Street, Decatur, IL 75732:2/28/53:123500 Ephram Hardy:293-259-5395:235 CarltonLane, Joliet, IL 73858:8/12/20:56700 James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500 Lesley Kirstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600 William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500 Sir Lancelot:837-835-8257:474 Camelot Boulevard, Bath, WY 28356:5/13/69:24500 Jesse Neal:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000 Zippy Pinhead:834-823-8319:2356 Bizarro Ave., Farmount, IL 84357:1/1/67:89500 Arthur Putie:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000 Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600 Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200 Yukio Takeshida:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000 Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900 7.用JOSE HAS RETIRED取代包含Jose的行 如果按照字面意思,应该用这个命令 xie 0$ sed -e '/Jose/cJOSE HAS RETIRED' sed.dat teve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500 Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400 Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700 Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 JOSE HAS RETIRED Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92086:7/25/53:85100 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 Lori Gortz:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200 Paco Gutierrez:835-365-1284:454 Easy Street, Decatur, IL 75732:2/28/53:123500 Ephram Hardy:293-259-5395:235 CarltonLane, Joliet, IL 73858:8/12/20:56700 James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500 Lesley Kirstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600 William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500 Sir Lancelot:837-835-8257:474 Camelot Boulevard, Bath, WY 28356:5/13/69:24500 Jesse Neal:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000 Zippy Pinhead:834-823-8319:2356 Bizarro Ave., Farmount, IL 84357:1/1/67:89500 Arthur Putie:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000 Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 JOSE HAS RETIRED Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200 Yukio Takeshida:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000 Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900 但从职员管理的角度来讲,似乎象这样更合适(我想不应该把住在San Jose的人也当成Jose让他退休吧 ![]() xie 0$ grep Jose sed.dat Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600 xie 0$ grep Jose sed.dat | sed -e '/^[^:]*Jose[^:]*:/cJOSE HAS RETIRED' Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 JOSE HAS RETIRED 8.把Popeye的生日改成11/14/46 xie 0$ grep Popeye sed.dat Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 xie 0$ grep Popeye sed.dat | sed -e '/^[^:]*Popeye[^:]*:/s/[0-9]\+\/[0-9]\+\/[0-9]\+/11\/14\/46/g' Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:11/14/46:22350 9.删除所有空白行 sed -e '/^$/d' sed.dat 10.写一个脚本,将: .在第一行之前插入标题PERSONNEL FILE. .删除以500结尾的工资 .显示文件内容,把姓和名颠倒 .在文件末尾添加THE END xie 0$ cat do.sed /500$/d s/^\([a-zA-Z]\+\) \([a-zA-Z]\+\)\(.*\)/\2 \1\3/g 1iPERSONNEL FILE $aTHE END xie 0$ sed -f do.sed sed.dat PERSONNEL FILE Blenheim teve:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 Chevsky Igor:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400 Corder Norma:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700 Cowan Jennifer:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 DeLoach Jon:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 Evich Karen:284-758-2857:23 Edgecliff Place, Lincoln, NB 92086:7/25/53:85100 Evich Karen:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 Evich Karen:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 Fardbarkle Fred:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 Fardbarkle Fred:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900 Gortz Lori:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200 Hardy Ephram:293-259-5395:235 CarltonLane, Joliet, IL 73858:8/12/20:56700 Ikeda James:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 Kirstin Lesley:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600 Neal Jesse:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000 Putie Arthur:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000 Sailor Popeye:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 Santiago Jose:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600 Savage Tommy:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200 Takeshida Yukio:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000 Tranh Vinh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900 THE END |
|
|
|
|
|
|
|
第 30 帖 | |
|
|
标题: 第十题用在命令行里可以这样执行 sed -e '
/500$/d s/^\([a-zA-Z]\+\) \([a-zA-Z]\+\)\(.*\)/\2 \1\3/g 1iPERSONNEL FILE $aTHE END ' sed.dat |
|
|
|
|
|