linux基础2(字符管理)


grep

grep -o root passwd  匹配关键字体

grep -n root passwd 显示行数

grep -i root passwwd 忽略大小写

grep -v root passwd 查找不包含root的内容

grep -A 5 ntp passwd 显示ntp后5行

grep -B 5 ntp passwd 显示ntp前5行

grep -C 5 ntp passwd 显示ntp前后5行

grep --color=auto  root passwd  字体带颜色

. *任意长度的字符

[ ] 匹配指定字符组内的任一字符 

[^] 匹配不在指定字符组内的任一字符

^[ ] 匹配以指定字符组内的任一字符开头 

^[^] 匹配不以指定字符组内的任一字符开头


grep -E (egrep) 扩展正则表达式

+              匹配一个或多个前导字符

?               匹配零个或一个前导字符

a|b            匹配a或b

( )              组字符 hello myself yourself   (my|your)self

x{m}         前导字符x重复m次

[:alnum:]          字母与数字字符

[:alpha:]     字母字符(包括大小写字母)

[:blank:]     空格与制表符       

[:digit:] |    数字

[:lower:]      小写字母

[:upper:]     大写字母

[:punct:]     标点符号 

[:space:]    包括换行符,回车等在内的所有空白


vim /etc/bashrc 添加字符颜色

unalias grep 取消字体颜色

soure /etc/bashrc  重新加载

grep ^# linux                                    以#号开头的行

grep ^$ linux                                     空行

grep -v -e ^$  -e ^# linuxx    

grep -w root linux                               root所在的行 并标识root

grep -v ^# linux | grep -v ^$

egrep -v '(^#|^$)' linux                      不显示空行和带#号开头的行

grep "/<good" linux                            good所在的行(goodb可以显示)

grep "?/<good>/" linux                       good所在的行(goob不能显示)  例最后一个                                                                                                                        单词为goodb

grep '/'^gmae linux                               显示^game 特殊符号显示用‘/’

grep ens33$ linux                                   以ens33结尾的行

grep [o-z] linux                                       显示出带o-z字母的单词

grep ^T? linux                                         标出T开头的行

grep ^T+ linux                                        只显示T开头的行

grep '(^A|^a)' linux                                 A a开头的行


sed

sed '1d' linux                                          删除第一行

sed '1,3d' linux                                       删除1-3行

sed '2,$d' linux                                        删除2到末行

sed '/link/d' llinux                                   删除含link的行

(加-i  彻底删除)

sed '/ens33/p' linux                                  ens33的行 +1

sed '/^[Aa]pple/p' linux                           [Aa]pple开头的行 +1

sed -ne '1,2p' -e '/game/p' linux              1-2行内的含有game的行+1

sed -e '1,3d' -e 's/game/ok/p' linux         删除1-3行 含有game的行+1 并把game改为ok

sed '2,/apple/p' linux                               第二到含apple开头的行+1


sed -n '/ens33/p' linux                              只显示含ens33的行

sed -n 's/game/123/p' linux                      只显示game的行 并把game改为123

sed -n 's/game/123/gp' linux                    只显示game的行 并把game改为123(整行替换) 

sed -n 's/game$/linux./p' linux                  只显示game的行 以game结尾的后面加linux.

sed -n 's/game$/&.linux/p' linux               只显示game的行  在game后面加上.linux

sed 's/game$/&.linux/p' linux                   显示所有行 game行+1 并在game后面加.linux

sed 's/game$/&.linux/' linux                      显示所有行 并在game后面加.linux

sed '/Apple/r io' linux                                把文件io的内容全部写到Apple的下一行

sed '/Apple/w io' linux                               把Apple整行的内容写到io中 (覆盖)

sed '/game/a\---linux---' linux                  在game的下一行插入---linux---

sed 'y/game/GAME/p' linux                       把字母game改成大写GAME


awk

awk 'NR==4' linux                                        显示第四行

awk '/game/' linux    (grep game linux)

awk /game/ linux      (grep -n '/game/p'  linx)      

  显示含有game的行

cat linux | grep -w game | awk '{print $2}'    取含有game的行的第二列

awk ''/game/{print $2}' linux

awk -F " " 'NR==5{print $2}' linux                 空格为分界符 取第五行的第二列

df -h | awk '{print $2}'                                   取df- h的第二列

df -h | awk '{print $3,$5}'                               ---------3 5列

date | awk '{print "Year:" $1 "\nMonth:" $2}'      Year:2018

                                                                            Moth: 09

cut

cut -d " " -f 2 linux                                       截取第二列

cut -d " " -f 1,3 linux                                     截取一三列

cut -d: -f1 passwd  截取第一列d后面为分隔符

cut -d: -f1,3 passwd

cut -c1-6 passwd 前6个字符的列

cut -c6-12 passwd

cu -c6- passwd  6到最后


sort:将文件的每一行作为一个单位,从首字符向后,依次按ASCII码值进行比较

-u :去除重复行

-r :降序排列,默认是升序

-o : 将排序结果输出到文件中  类似 重定向符号>

-n :以数字排序,默认是按字符排序

-t :分隔符

-k :第N列

-b :忽略前导空格。

-R :随机排序,每次运行的结果均不同。

sort -nr -t: -k3 passwd 分隔符为:第三列 降序

sort -n linux                                                 按1-11排序

sort -n -r linux                                              按11-1排序

sort -k 2 linux                                               第二列按a-z排序

sort -k 2 -r linux                                            第二列按z-a排序

sort u config                                                  删除重复行

sort -nu 1.txt -o 2.txt 重定向


tee工具

tee工具从标准输入读取并写入标准输出和文件,即:双向覆盖重定向<屏幕输出|文本输入>

-a 双向追加重定向

echo hello | tee 1.txt   

echo world | tee -a 1.txt 追加

paste工具

paste工具用于合并文件行

-d:自定义间隔符,默认是tab

-s:串行处理,非并行


paste 1.txt 2.txt 合并

paste -d@ 1.txt 2.txt 文件间的分隔符为@

paste -s 1.txt 2.txt 串行处理


wc

wc -l /etc/passwd                                        行数

wc -w /etc/passwd                                       字数(单词数)

wc -c /etc/passwd                                                 字节数

wc -lwc /etc/passwd /etc/fstab                            行数字数字节数总量


find

find  / -name config                                             查找指定文件config的路径

find  / -name config*                                            查找所有带config单词的路径         

find  /etc -name ifcfg*                                          查找etc下所有带ifcfg单词的路径

find / -type 

b                                   -块设备

d                                   -目录

c                                    -字符设备文件

p                                    -管道文件

l                                     -符号链接文件

f                                     -普通文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容