sed 和 awk 的一些用法
生活随笔
收集整理的這篇文章主要介紹了
sed 和 awk 的一些用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
1. 截取test 文件指定字段
test文件內容: ert fff ** [abcfd] 123 324 444 [rty] ** fgfgf
截取下面段: [abcfd] 123 324 444 [rty]
2. sed中,使用\u表示大寫,\l表示小寫
- 把每個單詞的第一個小寫字母變成大寫
- 把所有小寫變成大寫
- 大寫變小寫
3. sed在文件中某一行最后添加一個數字
4. sed 刪除某個關鍵字的下一行到最后一行
5. 是使用 sed 打印1到 10 行內包含 某字符串的行
6. 在awk 中使用外部shell 變量
7. awk 合并兩個文件
8. 把一個文件多行連接成一行
9. awk 中 gsub 函數的使用
- gsub 函數是將正則表達式被匹配到的發生替換.
- gsub(Regualr expression, subsitution string, target string);
10. awk 截取指定多個域為一行
for ((i=1,n=`awk -F: 'NR==1 {print NF}' ./passwd`;i<=n;i++)); do awk -F: -v i=$i '{printf($i ":");} END{ print "\n"}' ./passwd ;done# 最外層使用 for () do ;done 循環包裹 # for循環結構是 (i=1,n=`awk -F: 'NR==1 {print NF}' ./passwd`;i<=n;i++) # 獲取了 文件的列數, 然后根據列數, 設置 i 的值,# 循環內是獲取 該文件的第 i 列, 然后將該列 輸出為1行11. grep 或 egre 或 awk 過濾 兩個或多個關鍵詞
grep 'abc|def' file grep -E 'abc|def' file egrep 'abc|def' file awk '/ab|de/' file
12. 使用 awk 編寫生成以下結構文件程序
用 awk 生成下面結構文件(最后列是使用現在時間 格式為YYYMMDDHHMMSS) 各列值如下, 每增加以行增加1 , 共500w 行 1,1,0000000001,0000000001,0000000001,0000000001,0000000001,0000000001,2005100110101 2,2,0000000002,0000000002,0000000002,0000000002,0000000002,0000000002,2005100110101
- 使用 for 循環加 printf 格式化輸出, 然后用 awk 內建函數 strftime生成時間
- 可以使用 system 函數調用系統命令
13. awk 用print 打印單引號
14. 把兩個文件中相同的行合并成一行
- paste 命令 用于將多個文件按照隊列進行合并. 選項:
END
轉載于:https://my.oschina.net/nikoF/blog/2875709
總結
以上是生活随笔為你收集整理的sed 和 awk 的一些用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 业界 | 如何达到Kaggle竞赛top
- 下一篇: 【leetcode】937. Reord