濮阳杆衣贸易有限公司

主頁 > 知識庫 > Linux echo文本處理命令的使用及示例

Linux echo文本處理命令的使用及示例

熱門標簽:濰坊寒亭400電話辦理多少錢 廈門防封電銷電話卡 宜賓銷售外呼系統(tǒng)軟件 外呼系統(tǒng)全國 四川保險智能外呼系統(tǒng) 云南電商智能外呼系統(tǒng)哪家好 地圖標注能更改嗎 地圖標注員有發(fā)展前景嗎 高德地圖標注公司需要錢

echo 在linux幫助文檔的描述是顯示一行文本,類似于python和java等編程語言中的print語句,實際上它的作用不僅僅如此??梢允褂胢an echo查看詳細的參數(shù)說明。

echo命令用于輸出指定的字符串,常見用法如下:

[root@localhost ~]$ echo             # 輸出一個空白行
[root@localhost ~]$ echo "hello world"      # 輸出指定的字符串
[root@localhost ~]$ echo $HOSTNAME        # 輸出變量名對應(yīng)的值
[root@localhost ~]$ echo "hello world" > 1.txt  # 輸出字符串到指定文件
[root@localhost ~]$ echo `date`          # 輸出命令的執(zhí)行結(jié)果

常用參數(shù):

[root@localhost ~]$ echo -n "hello world"   # -n 不在末尾輸出換行符,默認會在末尾輸出換行符
hello world[root@localhost ~]$

[root@localhost ~]$ echo -e "hello\nworld"   # -e 用于啟用反斜杠轉(zhuǎn)義,如 \n 會轉(zhuǎn)換成換行
hello
world

[root@localhost ~]$ echo -E "hello\nworld"   # -E 用于禁用反斜杠轉(zhuǎn)義,默認就是禁用
hello\nworld

常用轉(zhuǎn)義符:

[root@localhost ~]$ echo -e "hello \\ world"  # \\ 用于輸出反斜杠
hello \ world

[root@localhost ~]$ echo -e "\a"        # \a 用于響鈴,發(fā)出聲音的響鈴哦

[root@localhost ~]$ echo -e "hello\bworld"   # \b 用于退格,參考:https://blog.csdn.net/lucosax/article/details/34963593
hellworld

[root@localhost ~]$ echo -e "hello \c world"  # \c 使用該轉(zhuǎn)義符后,\c 后面的字符不再輸出
hello 

[root@localhost ~]$ echo -e "\e[32;1m hello world \e[35;1m"  # \e 用于控制字體和背景顏色
 hello world 

[root@localhost ~]$ echo -e "hello \f hello \f hello"  # \f 換行,且光標停在換行后原來的地方
hello 
    hello
       hello

[root@localhost ~]$ echo -e "hello\nworld"  # \n 換行符
hello
world

[root@localhost ~]$ echo -e "hello\rworld"  # \r 用于把光標移到行首,相當(dāng)于把 \r 前面的字符刪除,只輸出 \r 后面的字符
world

[root@localhost ~]$ echo -e "hello\tworld"  # \t 制表符,相當(dāng)于鍵盤上的Tab鍵
hello  world

[root@localhost ~]$ echo -e "hello\vworld"  # \v 垂直制表符
hello
   world

echo 輸出顏色:

語法:echo -e "\033[字體背景顏色;字體顏色m字符串\033[0m"
例子:echo -e "\033[41;36m something here \033[0m"
解釋:其中41的位置代表字體背景顏色,36的位置是代表字體顏色

//輸出帶顏色的字體
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 紅色字 \033[0m"
echo -e "\033[32m 綠色字 \033[0m"
echo -e "\033[33m 黃色字 \033[0m"
echo -e "\033[34m 藍色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天藍字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
//輸出帶背景顏色的字體
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 紅底白字 \033[0m"
echo -e "\033[42;37m 綠底白字 \033[0m"
echo -e "\033[43;37m 黃底白字 \033[0m"
echo -e "\033[44;37m 藍底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天藍底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"
//其他屬性
\33[0m 關(guān)閉所有屬性
\33[1m 設(shè)置高亮度
\33[4m 下劃線
\33[5m 閃爍
\33[7m 反顯
\33[8m 消隱
\33[30m — \33[37m 設(shè)置前景色
\33[40m — \33[47m 設(shè)置背景色
\33[nA 光標上移n行
\33[nB 光標下移n行
\33[nC 光標右移n行
\33[nD 光標左移n行
\33[y;xH設(shè)置光標位置
\33[2J 清屏
\33[K 清除從光標到行尾的內(nèi)容
\33[s 保存光標位置
\33[u 恢復(fù)光標位置
\33[?25l 隱藏光標
\33[?25h 顯示光標

example1: 顯示一行文本,任何特殊字符都不會被轉(zhuǎn)義

[root@aliyun-hk1 linux-shell-test]# echo hello\nworld
hellonworld
[root@aliyun-hk1 linux-shell-test]# echo 'hello\nworld'
hello\nworld
[root@aliyun-hk1 linux-shell-test]# echo hello world
hello world
[root@aliyun-hk1 linux-shell-test]#

example2: 顯示一行文本,不要輸出末尾的換行符

[root@aliyun-hk1 linux-shell-test]# echo -n hello world
hello world[root@aliyun-hk1 linux-shell-test]# echo hello world
hello world

example3: 顯示一行文本,啟用反斜杠后面的轉(zhuǎn)義字符

[root@aliyun-hk1 linux-shell-test]# echo -e 'hello\nworld'
hello
world
[root@aliyun-hk1 linux-shell-test]# echo -e 'hello\tworld'
hello  world

example4: 顯示一行文本,禁用反斜杠后面的轉(zhuǎn)義字符,echo默認參數(shù)

[root@aliyun-hk1 linux-shell-test]# echo -E 'hello\nworld'
hello\nworld
[root@aliyun-hk1 linux-shell-test]# echo -E 'hello\tworld'
hello\tworld

example5: echo與cat的差異對比,echo只用于輸出文本,cat用于輸出文件內(nèi)容或者從標準輸入中輸出

[root@aliyun-hk1 linux-shell-test]# echo hello
hello
[root@aliyun-hk1 linux-shell-test]# cat hello
cat: hello: No such file or directory
[root@aliyun-hk1 linux-shell-test]# echo /etc/hostname
/etc/hostname
[root@aliyun-hk1 linux-shell-test]# cat /etc/hostname
aliyun-hk1
[root@aliyun-hk1 linux-shell-test]# echo hello|cat
hello
[root@aliyun-hk1 linux-shell-test]#

examle6: echo在自動化構(gòu)建中的作用,例如我們可以將DB中返回的數(shù)據(jù)格式化成ansible需要的數(shù)據(jù),通過with_lines 傳入某個task并循環(huán)使用。在某些情況下,從網(wǎng)絡(luò)、DB等方式獲取的標準輸出,可以通過echo結(jié)合awk和grep等實現(xiàn)結(jié)果的格式化或數(shù)據(jù)清洗,然后用到后續(xù)的​腳本中。

[root@aliyun-hk1 linux-shell-test]# echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'
name phone addr
robin 13712345678 CN
tom 13812345678 HK
[root@aliyun-hk1 linux-shell-test]# echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'|awk 'NR>1 {print $1}'
robin
tom
- name: show the items from DB
   debug:
    msg: "{{ item }}"
   with_lines: "echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'|awk 'NR>1 {print $1}'
​
TASK [show the items from DB] ****************************************************************************************************************************************************************************************************************ok: [localhost] => (item=robin) => {
  "msg": "robin"
}
ok: [localhost] => (item=tom) => {
  "msg": "tom"
}

example7: echo還可以將獲取到并格式化好的數(shù)據(jù)寫入到一個文件,等待后續(xù)使用​。

[root@aliyun-hk1 ansible-test]# echo -en 'name phone addr\nrobin 13712345678 CN\ntom 13812345678 HK\n'|awk 'NR>1 {print $1}' > DataFromDB1.txt
[root@aliyun-hk1 ansible-test]# cat DataFromDB1.txt
robin
tom
[root@aliyun-hk1 ansible-test]#

到此這篇關(guān)于Linux echo文本處理命令的使用及示例的文章就介紹到這了,更多相關(guān)Linux echo命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標簽:巴彥淖爾 回訪 廣安 滁州 紅河 德州 廊坊 湛江

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux echo文本處理命令的使用及示例》,本文關(guān)鍵詞  Linux,echo,文本,處理,命令,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux echo文本處理命令的使用及示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux echo文本處理命令的使用及示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    英德市| 汕尾市| 山阳县| 台安县| 桃园县| 武山县| 繁峙县| 克什克腾旗| 高邮市| 桃园市| 新沂市| 乌鲁木齐市| 寿阳县| 刚察县| 布拖县| 乐山市| 南部县| 青海省| 北票市| 武穴市| 翁源县| 乐山市| 奉节县| 金堂县| 全南县| 蛟河市| 元朗区| 紫金县| 东乌珠穆沁旗| 金乡县| 西乌| 齐河县| 郧西县| 武乡县| 麻栗坡县| 濮阳县| 类乌齐县| 永春县| 水城县| 鲁甸县| 白河县|