❶ linux vi ^M 是什麼
linuxvi ^M表示回車換行。
回車鍵有兩個作用,一是確認輸入的執行命令,二是在文字處理中起換行的作用,回車鍵也是電腦鍵盤上被用得較多的按鍵之一,使用回車鍵要注意:不要大力猛敲猛砸。
word換行符是一種換行符號,它的作用是換行顯示,但是它不是真正的段落標記,它的換行不是真正意義上的重起一段,因此被換行符分割的文字其實仍然還是一個段落中的,word中基於段落的所有操作都是不會識別換行符為段落結尾的。
(1)linux替換回車擴展閱讀:
換行鍵的編碼:
電腦早期引用了許多電信概念與技術。早期制定的代碼如ASCII(現今仍自沿用)和EBCDIC與後期的Unicode都包括「歸位」控制字元。
在ASCII編碼中,歸位碼是十進制13或十六進制 x0D。在c或其他一些語言中,這個字元用 表示。根據操作系統的不同,有時它與換行符 一起使用。在許多文本編輯器中,有時也會用 ^r 或 ^M (相當於 Ctrl-M) 來表示。
❷ Linux上如何進行換行符轉換
(一)最近在學習shell編程,可是在《Linux程序設計》指定的網站上下載了源碼,使用的時候卻一直出問題。提示:」bash: ./here1:/bin/sh^M:損壞的解釋器: 沒有該文件或目錄「。之後用vi編輯器打開文件,發覺每一行的最後有淺藍色的字元'^M'。才知道了問題所在 其實並沒什麼奇怪的,出現這種錯誤的原因是因為Linux和Windows文本文件的行結束標志不同。在Linux中,文本文件用"\n"(0a)表示回車換行,而Windows用"\r\n"(0d 0a)表示回車換行。所以在Linux中使用Windows的文本文件常常會出現錯誤。為了避免這種錯誤,Linux提供了兩種文本格式相互轉化的命令:dos2unix和unix2dos,dos2unix把"\r\n"轉化成"\n",unixtodos把"\n"轉化成"\r\n"。 命令dos2unix和unix2dos的使用非常簡單,格式為:dos2unix filename 如果想更多的了解這兩個命令,可以查看手冊: man dos2unix 它會告訴你dos2unix的高級用法(二)Ubuntu下默認沒有安裝dos2unix工具,而且也沒有一個叫這個名字的工具(我在solaris里用過dos2unix,不知道為啥Ubuntu沒有)。但是有一個替代工具——tofrodos , 下面就說一下它的安裝和使用。 當然還是apt安裝啦。 (1)安裝tofrodos sudo apt-get install tofrodos 實際上它安裝了兩個工具:todos(相當於unix2dos),和fromdos(相當於dos2unix) 安裝完即可,現在你已經可以進行文本格式的轉換啦。 比如: todos Hello.txt (即unix2dos Hello.txt) fromdos Hello.txt (即dos2unix Hello.txt) (2)做一些優化 由於習慣了unix2dos和dos2unix的命令,可以把上面安裝的兩個工具鏈接成unix2dos 和dos2unix,或者僅僅是起個別名,並放在啟動腳本里。 步驟:以下是代碼片段: ln -s /usr/bin/todos /usr/bin/unix2dos ln -s /usr/bin/fromdos /usr/bin/dos2unix 或者在 ~/.bashrc里起個別名 添加 alias unix2dos=todos alias dos2unix=fromdos(三)另外如果要在目錄中大量替換, 可以使用find + xargs比如:find ./model -name *.sh | xargs fromdos
❸ 總結linux替換字元串的幾種方法
一)通過vi編輯器來替換。
vi/vim 中可以使用 :s 命令來替換字元串。
:s/well/good/ 替換當前行第一個 well 為 good
:s/well/good/g 替換當前行所有 well 為 good
:n,$s/well/good/ 替換第 n 行開始到最後一行中每一行的第一個 well 為 good
:n,$s/well/good/g 替換第 n 行開始到最後一行中每一行所有 well 為 good
n 為數字,若 n 為 .,表示從當前行開始到最後一行
:%s/well/good/(等同於 :g/well/s//good/) 替換每一行的第一個 well 為 good
:%s/well/good/g(等同於 :g/well/s//good/g) 替換每一行中所有 well 為 good
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符
:s#well/#good/# 替換當前行第一個 well/ 為 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路徑/usr/bin換成/bin
(二)直接替換文件中的字元串。(此法不用打開文件即可替換字元串,而且可以批量替換多個文件。)
1.perl命令替換,參數含義如下:
-a 自動分隔模式,用空格分隔$_並保存到@F中。相當於@F = split 」。分隔符可以使用-F參數指定
-F 指定-a的分隔符,可以使用正則表達式
-e 執行指定的腳本。
-i<擴展名> 原地替換文件,並將舊文件用指定的擴展名備份。不指定擴展名則不備份。
-l 對輸入內容自動chomp,對輸出內容自動添加換行
-n 自動循環,相當於 while(<>) { 腳本; }
-p 自動循環+自動輸出,相當於 while(<>) { 腳本; print; }
用法示例:
perl -p -i.bak -e 's/foo/bar/g' *.c
將所有C程序中的foo替換成bar,舊文件備份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
將當前文件夾下lishan.txt和lishan.txt.bak中的「shan」都替換為「hua」
perl -i.bak -pe 's/(d+)/ 1 + $1 /ge' file1 file2
將每個文件中出現的數值都加一
2.sed命令下批量替換文件內容
格式: sed -i "s/查找欄位/替換欄位/g" `grep 查找欄位 -rl 路徑` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目錄
-l 表示輸出匹配的文件名
s表示替換,d表示刪除
示例:sed -i "s/shan/hua/g" lishan.txt
把當前目錄下lishan.txt里的shan都替換為hua 各個Linux詳細命令介紹及應用可如下進行查找