每日一道shell練習(09)——sed處理
對一個文件,1至5行刪除帶有英文的行,6至10行刪除裏面的英文字符;
2. 分析
這種要求,用sed命令就可以解決了,主要用到匹配替換的知識。
3. 腳本
#!/bin/bash
sed -n ‘1,5p‘ a.txt | sed ‘/[a-zA-Z]/d‘
sed -n ‘6,10p‘ a.txt | sed ‘s/[a-zA-Z]//g‘
sed -n ‘11,$p‘ a.txt
前兩個要求,必須使用行號匹配。主要sed是一個流編輯處理器,它是一行一行地接收輸入數據,然後再處理。
-n 和 -p 選項配合使用,就是只輸出匹配的內容。所以,在前兩行命令的意思就相當於,匹配到對應的行後,只處理這些行,然後通過管道,把它們傳給後邊的sed命令處理。
第三行的sed命令,就是把不用處理的文本都直接輸出屏幕。這樣,在屏幕上看來,就相當於完整地處理了整個文本的內容了。
每日一道shell練習(09)——sed處理
相關推薦
每日一道shell練習(09)——sed處理
sed1. 習題 對一個文件,1至5行刪除帶有英文的行,6至10行刪除裏面的英文字符; 2. 分析 這種要求,用sed命令就可以解決了,主要用到匹配替換的知識。 3. 腳本 #!/bin/bash sed -n ‘1,5p‘ a.txt | sed ‘/[a-zA-Z]/d‘ sed -n ‘6
每日一道shell練習(03)
shell 進程 內存 1 . 習題 寫一個腳本計算linux系統所有進程占用內存大小的和 2. 習題分析 2.1.第一個問題,在哪裏收集進程的數據 用top或者ps都可以獲取每個進程的內存使用大小。獲得大小之後,就可以通過一個循環計算它們的和了。 2.2. ps 命令的問題 通過累加 “ps
每日一道shell練習(04)
shell python 監控 ping 1. 習題 設計一個腳本,監控遠程的一臺主機(假設 ip地址是110.110.110.114)的存活狀態,當發現宕機時發一封郵件給你自己。 提示: 你可以使用 ping 命令 : ping -c 10 110.110.110.114 腳本可
每日一道shell 練習(05)——批量打包文件
find xargs tar 1. 習題 找到 /123 目錄下所有後綴名為 .txt 的文件 批量修改.txt 為 .txt.bak 把所有.bak 文件打包壓縮為 123.tar.gz 批量還原文件的名字,即把增加的.bak 再刪除 2. 習題分析 首先要想辦法找出 .txt 結尾的文件
每日一道shell練習(06)——檢測端口服務
httpd 端口檢測 1. 題目 寫一個腳本,判斷本機的80端口(假設服務為httpd)是否開啟著,如果開啟著就什麽都不做,如果發現端口不存在,那麽重啟一下httpd服務,並發郵件通知你自己。腳本寫好後,每分鐘執行一次,也可以寫一個死循環的腳本,30S檢查一次。 2. 習題分析 首先,我們要區分要
每日一道shell練習(10)——統計字元數
1. 習題 將下面這句話中字元數在6以內的單詞打印出來: Bash also interprets a number of multi-character options . 2. 習題分析 思路:用for迴圈將每個單詞取出,才能單獨統計。for迴圈的分隔符有空格、tab鍵和回車鍵,剛好這句話的分隔符
每日一道shell練習(10)——統計字符數
一道 number 分隔 erp strong ons rac 默認 取出 1. 習題 將下面這句話中字符數在6以內的單詞打印出來: Bash also interprets a number of multi-character options . 2. 習題分析 思路
Shell練習(一)
情況 read log 文件中 一個 false mozilla ash brush 習題1:每天生成一個文件要求:請按照這樣的日期格式(xxxx-xx-xx)每日生成一個文件,例如今天生成的文件為)2018-02-05.log, 並且把磁盤的使用情況寫到到這個文件中(不用
Shell練習(二)
odi tool 一次 pan debug load default subject class 習題1:統計內存使用要求:寫一個腳本計算一下linux系統所有進程占用內存大小的和。(提示:使用ps或者top命令)參考答案:#!/bin/bash # date:2018年2
Shell練習(四)
init word 服務 class etc gin border ott .sql 習題1:備份數據庫要求:設計一個shell腳本來備份數據庫,首先在本地服務器上保存一份數據,然後再遠程拷貝一份,本地保存一周的數據,遠程保存一個月 假定,我們知道my
Shell練習(五)
strong -c shell 打印 color 單詞 root 參考答案 sed 習題1:刪除文本中的字母要求:把一個文本文檔的前5行中包含字母的行刪除掉,同時把6到10行中的全部字母刪除掉(文件1.txt,行數大於10行)參考答案:#!/bin/bash #date:2
Shell練習(六)
san 創建 練習 date pac strong 管道 orm 個數字 習題1:輸入數字執行對應命令要求:輸入一個數字,然後運行對應的一個命令。顯示命令如下:*cmd meau* 1—date 2–ls 3–who 4–pwd;當輸入1時,會運行date, 輸入2時運行
Shell練習(七)
linux shell 習題1:統計日誌大小要求:假如我們需要每小時都去執行你寫的腳本。在腳本中實現這樣的功能,當時間是0點和12點時,需要將目錄/data/log/下的文件全部清空,註意只能清空文件內容而不能刪除文件。而其他時間只需要統計一下每個文件的大小,一個文件一行,輸出到一個按日期和時間為名字
Shell練習(八)
linux shell 習題1:監控磁盤使用率要求:寫一個shell腳本,檢測所有磁盤分區使用率和inode使用率並記錄到以當天日期為命名的日誌文件裏,當發現某個分區容量或者inode使用量大於85%時,發郵件通知你自己。思路:就是先df -h 然後過濾出已使用的那一列,然後再想辦法過濾出百分比的整數
Shell練習(九)
linux shell 習題1:找規律打印數字要求:請詳細查看如下幾個數字的規律,並使用shell腳本輸出後面的十個數字。 10 31 53 77 105 141 …….提示:相鄰兩個數差值的差值有規律參考答案:習題2:封IP要求:根據web服務器上的訪問日誌,把一些請求量非常
Shell練習(十)
linux shell 習題1:用戶交互腳本要求:寫一個腳本,執行後,打印一行提示“Please input a number:”,要求用戶輸入數值,然後打印出該數值,然後再次要求用戶輸入數值。直到用戶輸入”end”停止。參考答案:#!/bin/bash # date:2018年3月5日 while
Shell練習(十三)
linux shell 習題1:格式化輸出要求:輸入一串隨機數字,然後按千分位輸出。比如輸入數字串為“123456789”,輸出為123,456,789#/bin/bash # date:2018年3月15日 read -p "Please input a long number:"
shell 練習(07)——MySQL 資料庫備份
1. 題目 設計一個 shell 指令碼來備份資料庫,首先在本地伺服器上儲存一份資料,然後再遠端拷貝一份,本地儲存一週的資料,遠端儲存一個月。 假定,我們已經知道了 mysql root 賬戶密碼,要備份的資料庫為 wenming ,本地備份目錄為 /data/backup/mysql,遠端伺服器 ip
shell 練習(07)——MySQL 數據庫備份
root 值範圍 練習 備份命令 定義 path 設計 word mysqld 1. 題目 設計一個 shell 腳本來備份數據庫,首先在本地服務器上保存一份數據,然後再遠程拷貝一份,本地保存一周的數據,遠程保存一個月。 假定,我們已經知道了 mysql root 賬戶密碼
shell練習(11)——運用case進行選單選擇
1. 習題 設計一個指令碼,讓使用者輸入數字選擇要執行的命令。例如,輸出如下的提示,讓使用者輸出指令。 *cmd meau** 1-date 2-ls 3-who 4-pwd 然後指令碼將執行的結果輸出到螢幕 2. 分析 提示出入選擇的,用case 命令最合適了。case 語句的結構: case