sed用法很多,但是根據上節之中,用來做內容替換最多。
sed -i -e 's/^dubbo_provider_version=.*[^e]$/&-pre/' /home/wuji/webroot-xxx/WEB-INF/classes/biz.properties該命令作用是把biz.properties中的dubbo_provider_version=1.0.0 替換為dubbo_provider_version=1.0.0-pre替換的格式為 sed -e ’s/abc/def’ file.txt 把abc替換為def。其中第一部分的正則在第二部分可以被&取到。注意取到的是從dubbo開頭的全部,而不是.*部分,這是正則表達式的知識。并且s可以擴展為舉例2:去掉所有html標簽$ sed -e 's/<[^>]*>//g' myfile.htmlg的作用:不加只替換第一個匹配,加了會替換所有匹配sed -i 直接替換文件而不是在屏幕上輸出學習過vim的朋友們可以輕易的聯想到vim的命令模式,也有:s/abc/def的寫法,所以linux下的知識很多都可以觸類旁通。uniquniq可以去除重復行或者做group by的統計文件file:aabbbsort file | uniq :absort file | uniq -c:2 a3 b之所以和sort組合是要把所有的a弄到一起,防止b后面有a的情況。uniq -d 只顯示重復的 ,-c只顯示不重復的,兩者互斥。uniq -dc 只顯示重復并統計sort 功能說明:將文本文件內容加以排序。語 法:sort [-bcdfimMnr][-o<輸出文件>][-t<分隔字符>][+<起始欄位>-<結束欄位>][--help][--verison][文件]補充說明:sort可針對文本文件的內容,以行為單位來排序。實例:以第一個關鍵列的第二個字母開始進行排序:$ sort -k 1.2 file.txt以關鍵列第一列的第二個字母進行排序,如果第二個字母相同則根據第三列以數值的標準進行降序排列。$ sort -k 1.2,1.2 -k 3,3nr file.txt-k 排序字段,按照-t 分隔符來區分的,從0開始。-n 以數字格式排序。默認string方式比較的話,20和9比較是后者大。-r 反序-d 排序時,處理英文字母、數字及空格字符外,忽略其他的字符。-b 忽略每行前面開始出的空格字符。-u 去除重復行。(可以利用這個來去重)sort選項沒特別需要講的,需要注意的就是-k。-k選項的具體語法格式如下:[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]這個語法格式可以被其中的逗號(“,”)分為兩大部分,Start部分和End部分。如果不設定End部分,那么就認為End被設定為行尾。Start部分也由三部分組成,其中的Modifier部分就是我們之前說過的類似n和r的選項部分。我們重點說說Start部分的FStart和C.Start。C.Start也是可以省略的,省略的話就表示從本域的開頭部分開始。之前例子中的-k 2和-k 3就是省略了C.Start的例子嘍。FStart.CStart,其中FStart就是表示使用的域,而CStart則表示在FStart域中從第幾個字符開始算“排序首字符”。同理,在End部分中,你可以設定FEnd.CEnd,如果你省略.CEnd,則表示結尾到“域尾”,即本域的最后一個字符?;蛘?,如果你將CEnd設定為0(零),也是表示結尾到“域尾”。odod命令是分析文件內容的工具,很多時候不知道文件的內容編碼,此時用od命令看文件內部的字節構成是最直接的方式,使用方法:od-Ax-tcx4 file ??梢杂糜诜治鲎址幋a 是否utf-8 ,是否LE,BE至于如何分辨,還需要了解每種編碼的規則,譬如utf-8一般以三個字節來顯示中文,而gbk則是兩個。新聞熱點
疑難解答