拾遗:sed&vim
一、sed查漏补缺
1、sed x,+y,从第x行的开始,向下连续y行(包含x行在内是y+1行!)
f@z ~/testdir $ cat -n x.awk
#!/usr/bin/awk -f
BEGIN{
FS="\n"
RS=""
OFS="___"
ORS="*******"
} {printf $ "OFS" $ $ "\n"}
f@z ~/testdir $ sed -n '2,+3p' x.awk
BEGIN{
FS="\n"
RS=""
OFS="___"
2、sed 1~2,从第1行开始,步进为2行,此例中显示奇数行
f@z ~/testdir $ sed -n '1~2p' x.awk
#!/usr/bin/awk -f
FS="\n"
OFS="___"
}
{printf $ "OFS" $ $ "\n"}
3、sed -n '/root/!p',显示不包含root的行(较少使用)
f@z ~/testdir $ sed -n '/FS/!p' x.awk
#!/usr/bin/awk -f
BEGIN{
RS=""
ORS="*******"
} f@z ~/testdir $ sed -n '/FS/p' x.awk
FS="\n"
OFS="___"
{printf $ "OFS" $ $ "\n"}
4、sed -i.bak '',原地修改文件之前进行备份,类似用法:perl -p -e -i.bak
f@z ~/testdir $ sed -i.bak 's/^$/--------------------------/' x.awk
f@z ~/testdir $ ls x.awk*
x.awk x.awk.bak
f@z ~/testdir $ perl -p -i.backup -e 's/-+//' x.awk
f@z ~/testdir $ ls x.awk*
x.awk x.awk.backup
二、vim查漏补缺
1、r ! command,将command运行结果插入当前编辑文件


2、r /path/to/file,将file文件读入当前文件


3、w /path/to/file,将当前状态文件另存为file文件

f@z ~/testdir $ ls vim*
vim_testfile
4、yy,复制光标所在行
5、vim -o file1 file2,横向分屏显示多个文件;vim -O file1 file2,纵向分屏显示多个文件


6、V、v,多行选取,模拟鼠标的区域选取功能
大写v:

小写v:

7、vim全局配置文件:/etc/vim/vimrc
map ^P 0i#<ESC> 自定义绝对行首添加备注快捷键,其中^P指ctrl+v+p按键组合
8、d + G,删除光标所在行至文件末尾的所有内容;d + gg,删除光标所在行至文件开头的所有内容;d + 0,删除光标处至行首的字符;d + $,删除光标处至行尾的字符
三、其它
rev:按列反转;tac:按行反转
f@z ~/testdir $ cat x.awk
#!/usr/bin/awk f
BEGIN{
FS="\n"
RS=""
OFS="___"
ORS="*******"
} {printf $ "OFS" $ $ "\n"}
f@z ~/testdir $ rev x.awk
f kwa/nib/rsu/!#
{NIGEB
"n\"=SF
""=SR
"___"=SFO
"*******"=SRO
} }"n\" 3$ 2$ "SFO" 1$ ftnirp{
f@z ~/testdir $ tac x.awk
{printf $ "OFS" $ $ "\n"} }
ORS="*******"
OFS="___"
RS=""
FS="\n"
BEGIN{
#!/usr/bin/awk f
拾遗:sed&vim的更多相关文章
- 拾遗:vim 配置(个人适用,仅供参考)
~/.vimrc "===================通用配置====================== set encoding=utf- set statusline=%F%=[L ...
- 拾遗:vim 快捷键设置
~/.vimrc 零.批量注释与反注释 :sp / :vsp 横向 / 纵向拆分窗口 :e 打开新文件 zc:拆叠代码 / zo:展开代码 set foldmetho ...
- 拾遗:Vim 批量删除匹配到的行
删除包含特定字符的行 g/pattern/d (全局删除匹配行) ,5g/pattern/d (删除第1-5行里的匹配行) 删除不包含指定字符的行 v/pattern/d g!/pattern/d ( ...
- Sed Awk 日常使用总结
Sed命令语法sed [option] {sed-commands}{input-file}sed首先从input-file中读取第一行,然后执行所有的sed-commands:再读取第二行,执行所有 ...
- 初识sed和gwak
一.sed编辑器 sed命令的格式如下: sed options script file 选项 -e script 在处理输入时,将script中指定的命令添加到已有的命令中 -f fi ...
- Nutch搜索引擎(第4期)_ Eclipse开发配置
1.环境准备 1.1 本期引言 前三期分别介绍了Nutch与Solr在Linux上面的安装,并做了简单的应用,这一期从开发的角度进行,因为我们日常最熟悉的开发环境是Windows,所以本期详细介绍Wi ...
- 打印 上一主题 下一主题 利用cURL实现单个文件分多段同时下载,支持断点续传(修订版)
利用cURL实现单个文件分多段同时下载,支持断点续传(修订版) [复制链接] 摘自 http://bbs.chinaunix.net/thread-917952-1-1.html 在ubuntu下 ...
- linux 高级路由
1. 什么是高级路由? 是把信息从源穿过网络到达目的地的行为. 有两个动作:确定最佳路径,传输信息 确定最佳路径:手工指定,自动学习. 传输信息:隧道传输,流量整形 高级路由(策略路由)是根据一定的需 ...
- grep、sed、awk、perl、js、vim等对正则表达式的支持的差别
grep.sed.awk.perl等对正则表达式的支持的差别 grep 2.5.1 egrep 2.5.1 sed 3.02 sed 4.07 awk 3.1.1 perl 5.8.0 vim 6.1 ...
随机推荐
- xlwings结合dataframe数据的写入
一.代码 import xlwings as xw import pandas as pd xl_path=r'***' df_path=r'***' df=pd.read_excel(df_path ...
- word文档操作
1.如何把word文档修改的地方标记出来 : https://zhidao.baidu.com/question/73648149.html 2.word 的几种 视图:https://zhid ...
- NodeJS+Express+mySQL服务端开发详解
随着NodeJS的发展,现在已经被很多人熟知,NodeJS已经成为了前端开发人员必备的技能.本文不会对NodeJS过多介绍 如果你感兴趣可以访问NodeJS 官网, 维基百科 本文是利用NodeJS+ ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- QT--QSocketNotifier类介绍
QSocketNotifier 用来监听系统文件操作,将操作转换为Qt事件进入系统的消息循环队列.并调用预先设置的事件接受函数,处理事件. 一共存在3类事件:read,write,exceptio ...
- 兼容软件,Wine安装,Crossover安装,
EL6 (RHEL6 and SL6) Required packages for proper building of 32-bit Wine on 64-bit EL6 yum install - ...
- ElasticSearch Roaring bitmap 和跳表联合查询
ElasticSearch Roaring map 先把所有数按65535划分, 划分方法就是求商和余数,商代表数字最终在哪一块,余数代表最终在块内的数字 比如 1, 65536, 65537, 13 ...
- jeecg随笔-3.X的生成后配置
生成后按以上步骤进行配置即可.
- shell 检查文件夹是否包含文件,或者只是空文件
empty_dir_check(){ check_dir=$ if [ -d $check_dir ];then file_list=` -maxdepth -type f` if [ $file_l ...
- 注解@Override
Android的开发者对@Override肯定是非常熟悉,不管是自己的代码中还是书上都会出现,但是他是什么意思呢?如下: @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: ...