Linuxの学習ノート(F) - 正規表現とファイルフォーマットの処理

正規表現とファイルフォーマットの処理

正規表現文字集合体の基礎(文字)

SEDツール

sed 本身也是一个管线命令,可以分析 standard input 的啦! 而且 sed 还可以将数据进行取代、删除、新增、撷取特定行等等的功能呢。
复制代码

例1:/ etc / passwdファイルリストと印刷行番号の内容が、一方、5に2行を削除してください!

[dmtsai@study ~]$ nl /etc/passwd | sed '2,5d'
1 root:x:0:0:root:/root:/bin/bash
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
复制代码

拡張正規表現

ファイル形式および関連処理

フォーマット印刷:のprintf

范例一:将刚刚上头数据的文件 (printf.txt) 内容仅列出姓名与成绩:(用 [tab] 分隔)
[dmtsai@study ~]$ printf '%s\t %s\t %s\t %s\t %s\t \n' $(cat printf.txt)
Name Chinese English Math Average
DmTsai 80 60 92 77.33
VBird 75 55 80 70.00
Ken 60 90 70 73.33
复制代码

AWK:簡単なデータ処理ツールを使用します

awkは偉大なデータ処理ツールです!SEDが、多くの場合、行全体に作用するプロセスに比べて、awkが処理するために、いくつかの「フィールド」に分ける傾向ラインです。そのため、小さなデータの契約を処理するために非常に適しawkは!次のようにawkの通常の動作モードは次のとおりです。

[dmtsai@study ~]$ awk '条件类型1{动作1} 条件类型2{动作2} ...' filename
复制代码

私は離れてIPアカウントと着陸船を削除すると、アカウントとIPの間に、[タブ]にした場合、それは次のようになります:

[dmtsai@study ~]$ last -n 5 | awk '{print $1 "\t" $3}'
dmtsai 192.168.1.100
dmtsai 192.168.1.100
dmtsai 192.168.1.100
dmtsai 192.168.1.100
dmtsai Fri
复制代码

ファイル比較ツール

差分

范例一:比对 passwd.old 与 passwd.new 的差异:
[dmtsai@study testpw]$ diff passwd.old passwd.new
4d3 <==左边第四行被删除 (d) 掉了,基准是右边的第三行
< adm:x:3:4:adm:/var/adm:/sbin/nologin <==这边列出左边(<)文件被删除的那一行内容
6c5 <==左边文件的第六行被取代 (c) 成右边文件的第五行
sync:x:5:0:sync:/sbin:/bin/sync <==左边()文件第六行内容

> no six line <==右边(>)文件第五行内容
复制代码

非常にスマートになりました!私達はちょうど終わっよりに対処するための差分を入れて!

このパッチのdiffコマンドでパッチが、密接な関係がああがあります!我々は先に述べたように、diffは2つのバージョン間の違いを見分けるために使用することができ、例えば、それだけでpasswd.old、我々が作成したpasswd.newファイルの2つの異なるバージョンの間にあります。だから、あなたが意味する「アップグレード」したい場合は?それは「新しいファイルに古いファイルをアップグレードすること」である場合は、それを行うにはどのようにすべきですか?実際には、それは難しいことではありません!これは、「古いバージョンの違いを比較する最初の、そしてファイルがパッチファイル、古いファイルになり違いを確認してからパッチファイルが更新されます」であるボタンを。

おすすめ

転載: blog.csdn.net/weixin_33895604/article/details/91394409