利用sed 命令去掉windows下回車符及空白符

1.去掉所有行的空格
sed  -i ’s/ //g’   df.txt
2.去掉所有行的空格
sed  -e ’s/ //g’   df.txt  >cwm.txt

3.將每一行拖尾的“空白字符”(空格,製表符)刪除
sed ’s/ *$//’  df.txt   >cwm.txt

4.將每一行中的前導和拖尾的空白字符刪除
sed ’s/^ *//;s/ *$//’  df.txt   >cwm.txt

5.去掉空行
sed    ’/^$/d’ df.txt  >cwm.txt
sed -e ’/^$/d’ df.txt  >cwm.txt
sed -i ’/^$/d’ df.txt  
這三個是等價的 但第三個會改動原文件

6.去掉windows下的回車符 (注意^M 在linux 下寫法 按^M 是回車換行符,輸入方法是按住CTRL+v,鬆開v,按m)
sed  -i ’s/^M//g’  df.txt  

7.去掉windows下的回車符 (注意^M 在linux 下寫法 按^M 是回車換行符,輸入方法是按住CTRL+v,鬆開v,按m)
sed  -e ’s/^M//g’  df.txt  >cwm.txt



也等價於
dos2unix df.txt  >cwm.txt  


----------------------------------------------------------------------------------------------
******怎麼去掉文件中行尾的回車符號^M******
sed ’s/^M//g w newfilename’ oldfilename
其中:
s  表示Searchg 表示搜索全文,缺省是搜索第一個^M 是回車換行符,輸入方法是按住CTRL+v,鬆開v,按m  
w  表示寫到新文件中.


例子1
86103113234778,
86103145878770,
86103116778768,
86103111879708,
sed ’s/^86//;s/,$//’ user.txt     #去掉開頭的86 及尾部的,號
例子2
103113234778
103145878770
103116778768
103111879708
sed -e ’s/^/86/’    user.txt      #每行行首加上86
86103113234778
86103145878770
86103116778768
86103111879708


轉載自:http://blog.chinaunix.net/uid-14730816-id-136420.html


另外sed的相關文章:

http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html

http://www.jb51.net/article/42288.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章