Linux 基础命令知识2

原创 2015年07月06日 18:22:58

用cut 安列切分文件

#平时按列切分文件用的最多的就是awk ,cut 命令相对awk可能更加轻量级和命令简洁
#语法 cut -f FIELD_LIST filename # FIELD_LIST是需要的列,由列号组成,彼此之间用逗号分隔。
demo: cut -f 2,3 filename 打印第2列和第3列
cat test.txt 
123	xueping.you	test
234	xiaoming	test

cut -f 2,3 test.txt 
xueping.you	test
xiaoming	test

cut -f 2 test.txt | xargs 
xueping.you xiaoming

cut -f 1 --complement test.txt  #--complement用来取补集
xueping.you	test
xiaoming	test

cut -f2 -d"," test.txt # -d 用于指定分隔符

cut -c1-5 range_filed.txt #用于切分字符 cut range_field.txt -c1-3,6-9 --output-delimiter "," #按字符切分成两组使用分隔符"," 区分

sed(stream editor) 文本处理使用

# sed 可以替换给定文本中的字符串 , 它可以利用正则表达式进行匹配
sed 's/pattern/replace_string/' file 或者 cat file | sed 's/pattern/replace_string/'   # 匹配给定文本中的第一个匹配符使用replace_string进行替换
sed -i 's/pattern/replace_string/' #选项-i可以将结果应用于原文件 
sed -i 's/pattern/replace_string/g' #命令尾部加上g 能替换匹配到的所有内容
sed 's/pattern/replace_string/2g'  #使用2g表示替换从第三个匹配的地方开始替换,忽略前两处的替换

#sed 定界符可以使用任意, / | : 都是可以的例如: sed 's:text:replace:g'

######sed 通用命名 #######
#移除空白行 sed '/^$/d' file  ;/pattern/d会删除匹配样式的行,空白行的匹配是开始符紧随着结束符
#已匹配的字符串标记&  echo this is an example | sed 's/\w+/[&]/g' ; result: [this] [is] [example]
# echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/' 
# result:this is 7 in a number; \(pattern\) 用于匹配字符串,对于匹配的第一个子串,其对应的标记是\1 ,匹配的第二个子串是\2
demo:
echo this is digit 7 digit 8 in a number | sed 's/digit \([0-9]\) digit \([0-9]\)/\1\2/';
result: this is 78 in a number

awk入门使用

awk脚本的结构基本如下所示:
awk 'BEGIN{print "start"}pattern {commonds} END{print "end"}' file
#awk 命令工作方式
#(1)执行BEGIN{commond} 语句块中的语句
#(2)从文件或stdin中读取一行,然后执行pattern {commonds}。重复这个过程直到文件被读取完毕
#(3)当读至输入流末尾时,执行END{print comonds}语句块
Simple Demo:
echo -e "line1\nline2" | awk 'BEGIN{print "start"} {print }END{print "end"}'
start
line1
line2
end

echo | awk '{var1="v1";var2="v2";var3="v3";print var1,var2,var3;print var1"-"var2"-"var3}'
v1 v2 v3
v1-v2-v3

#特殊变量
NR:表示记录数量,在执行过程中对应于当前行号
NF: 表示字段数量,在执行过程中对应于当前行的字段数

echo -e "1,2,3,45,6,5" | awk -F ',' '{ for(i=0;i++<NF;) print $i;}' #按照 ","分割,使用for 遍历分割的列并做输出
1
2
3
45
6
5

#将外部变量传递给awk
方法1: var="Hello World";echo | awk -v vv=$var'{print vv}'
# 个人推荐使用这种方法v1=$var1 v2=$var2 作为awk参数 紧跟在BEGIN 、 {} 、END后面
方法2:var1="Hello ";var2="World";echo | awk '{print v1,v2}' v1=$var1 v2=$var2 

#我们可以为需要处理的行进行过滤
awk 'NR < 5' #行号小于5的行
awk 'NR==1,NR==4' #行号在1到5之间的行
awk '/linux/' #包含样式linux的行,(可以用正则表达式来指定样式)
awk '!/linux/' #不包含样式的linux行
cat test.txt | awk 'NR < 2 { print $0}'
123	xueping.you	test

#awk内建字符串控制函数
length(string):字符串长度
index(string, search_string):字符串在search_string 中出现的位置
split(string, array, delimiter) : 通过定界符生成一个字符串列表,并将该列表存入数组
substr(string , start_position, end_position)
sub(regex, replacement_str, string) : 将regex正则匹配的第一次内容替换为replacement_str
gsub(regex, replacement_str, string) : 将regex正则匹配的所有内容替换为replacement_str
match(regex,string): 检查正则表达式是否能够匹配字符串,如果能够匹配返回非0值,否则返回0



Linux基础知识(2)——简单的系统命令及输入,输出

Linux基础知识(2)——简单的系统命令及输入,输出http://blog.csdn.net/xjasteria/article/details/72190455 简单的系统命令 ...

Linux基础知识(2)——简单的系统命令及输入,输出

简单的系统命令 date 、passwd、file、wc、查看文件; 输入,输出的重定向及管道...

SHELL脚本的基础知识2——使用结构化命令

结构化命令:允许脚本根据变量值的条件或者其他命令的结果跳过一些命令或者循环执行这些命令 1、使用if_then语句 if command then      commands fi ...

Linux基础知识学习(一)----常用操作命令

随着工作时间的增加,阅历的丰富,感觉有必要把自己之前学的,经常用的知识(oracle/linux/weblogic/hadoop等)进行总结,先从linux讲起吧,把自己以前对linux学习总结下,一...

Linux基础知识与常用命令

一.基本命令 1查看目录清单ls  用ls -l看到的是修改时间,加上选项-u,即用ls -lu看到的是访问时间。   2.浏览文件命令cat、more、less、head和tail  ...

随笔三、Linux命令基础知识

一:相关知识: linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用linux。 linux的文件系统是采用层级式的树状目录结...

Linux基础命令知识大全

linux目录架构 / 根目录 /bin 常用的命令 binary file 的目錄 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 /boot/grub/menu.lst...

Linux基础知识学习(二)----SZ/RZ命令讲解以及在secureCRT使用SFTP上传文件的讲解

1、SZ/RZ命令讲解 一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆Linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服...

Linux 基础命令知识4

无网不利,Shell网络知识 shell 网络 linux 打印网络接口列表 ifconfig | cut -c-10 | tr -d ' ' | tr -s '\n'eth0lo#cut -...

Linux基础知识第二期《目录处理命令》

3.目录处理命令 (1). 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 语法:ls选项[-ald] [文件或目录] ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux 基础命令知识2
举报原因:
原因补充:

(最多只允许输入30个字)