拾遗: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 ...
随机推荐
- AcWing ST算法(区间求最值)打卡
一,介绍 ST算法是一个用倍增来求区间最值的算法,倍增是一个与二分类似的思想的一个东西,倍增简而言之也就是区间长度按1,2,4,8..... 我们先用nlog(n)的复杂度打出一个最大值表,后面我们可 ...
- JXOI2017 加法
题目描述: 可怜有一个长度为 \(n\) 的正整数序列 \(A\),但是她觉得 \(A\) 中的数字太小了,这让她很不开心. 于是她选择了 \(m\) 个区间 \([l_i, r_i]\) 和两个正整 ...
- Address already in use: JVM_Bind 8083端口被占用的几个解决办法
运行Tomcat时若出现Address already in use: JVM_Bind 端口被占用,一般使用下面几个办法可以解决: 假设端口为8083 1.启动cmd, 执行命令netstat -a ...
- 【hive 日期函数】Hive常用日期函数整理
1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12');输出:2015-04-02122.from_unixtime:转化unix时间戳到当 ...
- VMware Pro v14.1.1 官方版本及激活密钥
热门虚拟机软件VMware Workstation Pro现已更新至14.1.1,14.0主要更新了诸多客户机操作系统版本,此外全面兼容Wind10创建者更新.12.0之后属于大型更新,专门为Win1 ...
- 3.4 redux 异步
在大多数的前端业务场景中,需要和后端产生异步交互,在本节中,将详细讲解 redux 中的异步方案以及一些异步第三方组件,内容有: redux 异步流 redux-thunk redux-promise ...
- JUC源码分析-集合篇(四)CopyOnWriteArrayList
JUC源码分析-集合篇(四)CopyOnWriteArrayList Copy-On-Write 简称 COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想 ...
- mysql(自动添加系统时间)timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
timestamp有两个属性,分别是CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP两种,使用情况分别如下: 1.CURRENT_TIMESTAMP 当要向 ...
- TRUNCATE - 清空一个表
SYNOPSIS TRUNCATE [ TABLE ] name DESCRIPTION 描述 TRUNCATE 快速地从一个表中删除所有行.它和无条件的 DELETE 有同样的效果,不过因为它不做表 ...
- vue之axios的使用
一.环境安装 1.axios的安装 进入到对应工程目录执行: npm install axios 2.启动测试数据的API 测试项目地址:https://github.com/ShenJianPing ...