亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • sed '4c cang bujige' student.txt //行替換

    sed '2,4s/F/M/g' student.txt //指定范圍內的行進行字符串替換

    sed -3 's/furong/xx/g;s/fengji/yy/g' student.txt //-e選項,進行多條sed動作操作,動作之間用";"分隔

    sed '2d' test.txt #刪除第二行

    sed '2,4d' test.txt #刪除第二到第四行

    sed '2a input content' test.txt #在第二行后追加input content

    sed '2i input content' test.txt #在第二行前插入input content

    sed '2c input content' test.txt #將第二行替換為input content(替換一整行)


    各個動作都可以加上行號范圍

    /g是指在指定范圍內有多個舊字符串,就替換掉所有的,如果沒有/g,就只替換第一個舊字符串

    多個動作之間可用“;”隔開


    查看全部
  • 【字符替換命令sed】

    sed是一種幾乎包括在所有的UNIX平臺(包括Linux)的輕量級流編輯器。sed主要是用來將數據進行選取、替換、刪除、新增的命令。

    sed 選項 '動作' 文件名

    #''不能省略

    選項

    -n? #一般sed命令會把所有數據都輸出到屏幕,如果加入此選擇,則只會把經過sed命令處理的行輸出到屏幕

    -e? #允許對輸入數據應用多條sed命令編輯(多個動作)

    -i? #用sed的修改結果直接修改讀取數據的文件,而不是由屏幕輸出

    動作

    a? #追加,在當前行后添加一行或多行

    c? #行替換,用c后面的字符串替換原數據行

    i? #插入,在當前行之前插入一行或多行

    d? #刪除,刪除指定的行

    p? #打印,輸出指定的行

    s? #字符串替換,用一個字符串替換另外一個字符串。格式為"行范圍s/舊字符串/新字符串/g"(和vim中的替換格式類似)


    查看全部
  • FS內置變量

    查看全部
  • 在awk中,一般默認是制表符或者空格作為分隔符,假如說我們想要使用其他的符號作為分隔符,我們可以


    awk " {FS=":"}{printf $1 "\t" $3 "\n"}'這樣:就變成了分隔符,{FS=":"}意思是這個:分隔符的別名起名為FS。


    當我們使用自己定義的分隔符時,一般都在條件前面加上BEGIN,否則第一行讀取的數據會識別不了自己定義的分隔符,因此我們應該這樣做awk "BEGIN {FS=":"}{printf $1 "\t" $3 "\n"}'


    查看全部
  • awk 'BEGIN{動作0}條件1{動作1}條件2{動作2}' 表示在所有動作之前先執行動作0,相應的還有END,表示在所有動作執行之后執行動作0。

    FS內置變量,用來指定分隔符;

    BEGIN可以在執行打印工作之前,首先指明分隔符,以打印出正確結果,例如:cat /etc/passwd|grep "/bin/bash"|awk 'BEGIN{FS=":"}{print $1 "\t" $3}'

    查看全部
  • awk命令:

    awk是一個數據處理工具,相比于sed常常作用于一整行的處理,awk則比較傾向于將一行分成數個”字段“來處理。?

    通常運行模式: awk ' 條件類型1{動作1} 條件類型2{動作2}...‘?文件名?

    例:awk '{printf $2 "\t" $4 "\n"}' filename awk '{print $2 "\t" $4}' filename?

    printf后面要接換行符"\n" print 不需要


    awk命令的格式

    1.awk '條件1{動作1}條件2{動作2}……’ 文件 其中轉義符\n等需要用雙引號括起來才可以生效

    2.在printf中$1 代表打印第一個字段。也就是說字段是以空格為分割的。

    3.其中把文件的文件名賦予了$0變量

    4.print命令可以比printf命令在一行的末尾自動加入換行符


    查看全部
  • print命令和printf命令

    查看全部
  • printf命令用法

    查看全部
  • printf輸出格式說明

    查看全部
  • printf格式化輸出

    printf命令 --> 格式化輸出命令?

    printf "輸出類型輸出格式" 輸出內容?

    輸出類型:?

    %ns:輸出字符串。n是數字,指代輸出幾個字符?

    %ni:輸出整數。n是數字,指代輸出幾個數字?

    %m.nf:輸出浮點數。m和n是數字,指代輸出的整數位數和小數位數。如%8.2f代表共輸出8位數,其中2是小數位數,6位是整數?

    輸出格式:?

    \a:輸出警告聲音?

    \b:輸出退格鍵,也就是Backspace鍵?

    \f:清空屏幕 \n:換行?

    \r:回車,也就是Enter鍵?

    \t:水平輸出退格鍵,也就是Tab鍵?

    \v:垂直輸出退格鍵,也就是Tab鍵?

    ?printf '%s\t%s\t%s\n' 1 2 3 4 5 6 --> 此時才會正確輸出:?

    1 2 3?

    4 5 6?

    使用printf輸出命令,必須明確指出所有的格式?

    如果想要使用printf讀取文件中的內容就需要:

    printf '%s' $(cat student.txt) ?不調整輸出格式?

    printf '%s\t%s\t%s\t%s\n' $(cat student.txt) 調整輸出格式??

    awk命令的輸出中支持print和printf命令?

    print在輸出之后會在自動加入換行符,但Linux系統中默認沒有print命令?

    printf是標準格式輸出命令,并不會自動加入換行符,如需換行,需要手動加入換行符


    查看全部
  • cut [選項] 文件名?

    -f 列號:提取第幾列(從1開始)?

    cut -f 列號,列號 (多個列號用逗號隔開;這個方法默認的文件以TAB制表符)?

    cut -f 列號,列號 -d "指定的分隔符" (比如圖中,以:為分隔符;列出第1,和第3列的內容)?


    查看全部
  • grep行提取,cut列提??;?

    cut [選項] 文件名?

    -f 列號:提取第幾列(從1開始)?

    cut -f 列號,列號 (多個列號用逗號隔開;這個方法默認的文件以TAB制表符)?

    cut -f 列號,列號 -d "指定的分隔符" (比如圖中,以:為分隔符;列出第1,和第3列的內容)?

    -d 分隔符:按照指定分隔符分割列 默認為tab制表符

    grep "bin/bash" /etc/passwdgrep -v "root"cut -f 1 -d ":" 提取非root登錄用戶用戶名;


    查看全部
  • 正則實例

    正則表達式適合在文檔中提取,不適合做寫入的判斷依據?

    匹配日期:"[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}"?

    匹配IP地址:"^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"?

    還可以匹配電話號碼、郵件地、URL地址信息等

    匹配時間格式:grep "[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}" test.txt?

    匹配IP地址: ? ?grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" test.txt?

    IP地址最大為255.255.255.255,所以這個正則只能用于從文檔中提取IP地址,不能用來寫入 vi清空所有行的快捷鍵:先d后G



    查看全部
  • 正則表達式規則

    查看全部
  • 1、轉義符“\”:讓特殊的符號喪失它的作用,只是表示這個符號本身

    "\.$"? ?#匹配以.結尾的行

    2、“\{n\}”:表示其前面的字符恰好出現n次

    "a\{3\}"? ?#匹配a字母連續出現三次的字符串

    "[0-9]\{3\}"? ?#匹配包含連續的三個數字的字符串,最好加上定界符,即左右加上匹配的字母,如"a[0-9]\{3,\}b",否則易匹配錯誤,因為正則是包含匹配

    3、“\{n,\}”表示其前面的字符出現不小于n次

    "^[0-9]\{3,\}[a-z]"? ?#匹配最少用連續三個數字開頭包含小寫字母的行

    4、“\{n,m\}”匹配其前面的字符出現n-m次的行

    "sa\{1,3\}i"? ?#匹配以s開頭、i結尾,且s和i之間有1-3個a的行


    查看全部

舉報

0/150
提交
取消
課程須知
學習本門課程前,還請大家學習慕課網《Tony老師聊shell》系列的前三篇課程!
老師告訴你能學到什么?
1、掌握shell中的正則表達式 2、掌握常用字符截取命令的使用 3、掌握常用字符處理命令的使用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!