shell脚本--cut命令与awk简单使用
cut:对内容进行列切割
-d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来;
-f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 ;
-c参数后面跟着要选择的字符偏移,-b表示后面跟着要选择的字节偏移;
可以使用start-end表示一个区间,解决使用逗号的烦恼。
比如这个实例:
ubuntu@ubuntu:~$ cat test.txt
aaaaa;bbbbb;ccccc
ddddddd;eeeeee
fffff;gggggggg!iii;jjjjjj;kkkk
ubuntu@ubuntu:~$ cut -f 2,3 -d ";" test.txt #注意分隔符使用引号括起来
bbbbb;ccccc
eeeeee
gggggggg!iii;jjjjjj
ubuntu@ubuntu:~$ #上一条命令的作用是选择以;分隔之后的第2和第3字段
使用-表示区间
ubuntu@ubuntu:~$ cat test.txt
aaaaa"bbbbb"ccccc
ddddddd"eeeeee
fffff"gggggggg!iii"jjjjjj"kkkk
ubuntu@ubuntu:~$ cut -f 1-2 -d '"' test.txt
aaaaa"bbbbb
ddddddd"eeeeee
fffff"gggggggg!iii
ubuntu@ubuntu:~$ cut -d '"' -c 1-3 test.txt
cut: an input delimiter may be specified only when operating on fields
Try 'cut --help' for more information.
ubuntu@ubuntu:~$
注意:-d只能和-f一起配合使用,-c不能和-d一起使用,只能单独使用。想一想就很容易明白嘛,-d表示指定分隔符,而-c表示指定区间的字符,不需要分割。
awk:循环迭代对每一行进行操作
awk用来处理文本和数据,功能很强大,如果是一些简单的操作,可以使用cut命令来实现
-F 后面加上分隔符 ,建议空格分开后,使用引号将分隔符括起来,不加-F时,默认是以空格分隔。$0表示整行数据,$1表示第1个字段
ubuntu@ubuntu:~$ cat test.txt
aaaaa"bbbbb"ccccc
ddddddd"eeeeee
fffff"gggggggg!iii"jjjjjj"kkkk
ubuntu@ubuntu:~$ cat test.txt | awk -F '"' '{print $1"=>"$2}'
aaaaa=>bbbbb
ddddddd=>eeeeee
fffff=>gggggggg!iii
awk特别强大,这里提一点点,可以参考http://man.linuxde.net/awk
shell脚本--cut命令与awk简单使用的更多相关文章
- shell脚本--cut命令
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 选项说明 cut命令将行按指定的分隔符分割成多列,它的 ...
- shell 脚本控制命令的执行顺序
&&,||,(),{},& 五个符号的运用shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. 也 ...
- linux 执行远程linux上的shell脚本或者命令以及scp 上传文件到ftp--免密码登陆
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P ...
- Linux Shell脚本入门--awk命令详解
简单使用: awk :对于文件中一行行的独处来执行操作 . awk -F :'{print $1,$4}' :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 . 详细介绍: AWK命令介绍 ...
- 用 shell 脚本做命令行工具扩展
问题的提出 公司开发机与远程服务器之间有严格的隔离策略,不能直接使用 ssh 登录,而必需通过跳板机.这样一来,本地与服务器之间的一些文件传输变得非常不便.经过咨询,运维教了我一招: $ nc -l ...
- Shell 脚本常用命令
Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1 Shell中的特殊符号 ...
- Linux之Shell脚本计算命令行的所有和
问题:设计一个Shell脚本:求命令行上所有整数和 Shell代码: 调用add.sh脚本结果:
- Makefile Shell 脚本;sed命令
1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \ //-d 判 ...
- Linux Shell脚本Ldd命令原理及使用方法
1.首先ldd不是一个可执行程序,而只是一个shell脚本2.ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量如下:LD_TRACE_LOADED_OBJECTS.LD ...
随机推荐
- Java:传值还是传引用?
这是一个Java的经典问题,大部分人从C,C++语言入门,C语言有三种传递方式:值传递,地址传递和引用传递.详细的对C语言指针,引用的我个人的理解,见链接. Java所有操作都是传值操作!都是传值操作 ...
- UOJ #390. 【UNR #3】百鸽笼
UOJ #390. [UNR #3]百鸽笼 题目链接 看这道题之前先看一道相似的题目 [PKUWC2018]猎人杀. 考虑类似的容斥: 我们不妨设处理\(1\)的概率. 我们令集合\(T\)中的所有鸽 ...
- c++函数库中一些实用的函数
有一些程序,虽然写起来不难,但是可能比较麻烦或容易出错,这时就可以用c++函数库里自带的一些实用的函数. 这里只记录一些不太常见的函数. ------------------------------- ...
- Remainders Game (中国剩余定理)
题意:已知k和一个集合C={c1,c2,c3....cn},问是否有满足集合C的中国剩余定理的解x,使x%k的值唯一确定. 数学知识: #include<iostream> #includ ...
- P1-Linux下安装MySQL及登录用户配置
Linux下安装MySQL及登录用户配置 环境:Centos7.4 Mysql5.6 1. 查询是否安装 MySQL和MariaDB rpm -qa | grep -i mysql rpm -q ...
- 一加将在欧洲推出第一款商用 5G 手机
远在太平洋中部的夏威夷群岛,高通举办了骁龙峰会. 峰会的惯例,各行业的合作伙伴都被邀请上台演讲.中国企业里,去年来的是小米雷军,而今年刚开场,一加手机 CEO 刘作虎就现身了. 与以往一样,张老板身着 ...
- 使用proxy来简单的实现一个观察者
var obv = (function() { var cache = new Map(); var observe = function (proxy, fn) { if (!cache.has(p ...
- Matplotlib 简单图例
图例参考:http://matplotlib.org/gallery.html API参考:http://matplotlib.org/api/pyplot_summary.html # -*- co ...
- angularjs为ng-click事件传递参数
在angularjs开发中,我们需要为ng-click事件传递一个参数. 在js中,可以接到参数: 演示:
- java异步编程降低延迟
目录 java异步编程降低延迟 一.ExecutorService和CompletionService 二.CompletableFuture(重要) 三.stream中的parallel(并行流) ...