欢迎来到天天文库
浏览记录
ID:56020948
大小:18.19 KB
页数:17页
时间:2020-03-14
《linux sed命令学习笔记.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、声明:这些代码只是为了学习和理解sed命令而为之,并不代表问题的唯一解或最佳解,希望各位拍砖 参考资料:等 一.替换 1.神奇变换(y命令的使用) 代码: sed'y/ori_letter_list/target_letter_list/'filename 代码: catfilename 1234567890 2345678901 3456789012 4567890123 测试 将文件中1换成A 将文件中2换成B ... 将文件中0换成J 代码
2、: sed'y/1234567890/ABCDEFGHIJ/'filename ABCDEFGHIJ BCDEFGHIJA CDEFGHIJAB DEFGHIJABC 注意变换关系是按两个list的位置对应变换,y是一个管局命令,拒绝使用后缀flag/g list1:1234567890 list2:ABCDEFGHIJ 下面再作一个与前例相反的变换 代码: sed'y/0987654321/ABCDEFGHIJ/'filename JIHGFEDCBA IHGFEDCBAJ
3、HGFEDCBAJI GFEDCBAJIH 2.替换每行第一个匹配 代码: sed's/regexpr/anyword/'filename sed's/regexpr/anyword/1'filename 举例: 引用: catfilename 12345678902345678901 34567890124567890123 sed's/5/五/'filename 1234五678902345678901 34五67890124567890123 3.替换每行第n(如果有的话
4、)个匹配 代码: sed"s/regexpr/anyword/${n}"filename catfilename 111111111111111111 222222222222222222 333333333333333333 444444444444444444 举例 sed"s/4/四/8"filename 111111111111111111 222222222222222222 333333333333333333 4444444四4444444444 4.替换每行所有
5、匹配 代码: catfilename 12345678902345678901 34567890124567890123 代码: 举例: sed's/3/三/g'filename 12三45678902三45678901 三456789012456789012三 二.行号处理 1.为文件加行号 代码: sed=filename
6、sed'N;s//:/' catfilename 111111111111111111 222222222222222222 3333333
7、33333333333 444444444444444444 举例 代码: sed=filename
8、sed'N;s//:/' 1:111111111111111111 2:222222222222222222 3:333333333333333333 4:444444444444444444 2.仅为文件中的正文行加行号 代码: sed/./=a
9、sed'/./N;s//:/' 举例 代码: catfilename 111111111111111111 222
10、222222222222222 333333333333333333 444444444444444444 sed/./=a
11、sed'/./N;s//:/'filename 1:111111111111111111 3:222222222222222222 4:333333333333333333 6:444444444444444444 三.字串翻转 代码: sed'//!G;s/\(.\)\(.*\)/&\2\1/;s/.//' 举例 代码: e
12、cho1234567890
13、sed'//!G;s/\(.\)\(.*\)/&\2\1/;s/.//' 0987654321 四.选择性输出 1.打印文档奇数行(隔行输出) 代码: sed'n;d' sed'x;$!N;x' sed-n'p;n' 1 3 5 7 2.打印偶数行(隔行输出) 代码: sed-n'n;p' sed'1d;n;d;' 2 4 6 8 3.
此文档下载收益归作者所有