Linux命令備忘例項(7)——雙向重定向與字元操作
1.tee(雙向重定向)
管道符或者“>”操作符都是單向的資料流,為了在資料流處理的國中將某段資訊儲存到檔案,同時希望這個資料流繼續輸出到後續的命令,那麼tee就是為了完成這樣的工作情景。
tee相當於一個分流器,將資料流分送到檔案和stdout。
這個命令的選項也很簡單,-a是用來指定以追加的方式寫入到檔案,-i選項用來指定寫入檔案時忽略外部中斷的訊號。
[email protected]:~$ echo "test" | tee -a test.bak | tr -d 't'
es
上述命令會生成一個test.bak的檔案保留了“test”內容。如果指定的檔名是“-”,那麼也會拷貝內容到stdout,從而輸出兩份內容。
2.tr
tr是一個非常有效和簡潔的替換工具,同時支援POSIX中的字符集。
常用的除了指定替換字串外,-c選項可以從反面來指定,替換補集。另外-d選項用來直接刪除指定的字元,-s選項用來壓縮連續字串為一個。-t選項則用來將SET1的長度匹配到SET2的長度。
比較重要的是支援的字符集和轉義字元:
前面很多地方使用了這個命令。它只能從標準輸入接收資料,不能從引數接收輸入。
user@ubuntu:~$ echo "test" | tr -d 't'
es
user@ubuntu:~$ echo "test" | tr 'a-z' 'A-Z'
TEST
user@ubuntu :~$ echo "test" | tr -c 't' '#'
t##t
user@ubuntu:~$ echo "aaaaaaaaaabbbbbbbbbb" | tr -s 'ab'
ab
user@ubuntu:~$ echo "test" | tr [:lower:] [:upper:]
TEST
3.join
join命令將兩個檔案進行合併,輸出到stdout。
[email protected]:~$ join -t ':' /etc/passwd /etc/shadow
root:x:0:0root:/root:/bin/bash:$1/xxxxxxxxxxxxxx::::::
...
可以使用-1和-2選項指定兩個檔案進行合併時的欄位位置。
[email protected]:~$ join -t ':' -1 4 /etc/passwd -2 3 /etc/group
0:root:x:0:0root:/root:/bin/bash:root:x:root
...
4.paste
直接將兩個檔案的每一行貼上起來,中間預設以tab鍵分割。
選項-d指定連線行的分割字元。預設為tab鍵。-s指定按照順序進行貼上,預設為並行操作。如果輸入的檔案為“-”,那麼會從stdin讀取。
user@ubuntu:~$ paste /etc/passwd /etc/shadow
bin:x:0:0:bin:/bin:/bin/bash bin:*:14121:0:999999:7:::
...
5.expand、unexpand
這個命令的功能很簡單,就是將tab鍵轉換為空格,可以指定一個tab鍵由多少個空格替代。
-t可以指定一個tab鍵替換的空格個數,也可以使用逗號分隔的列表指定位置。-i能夠將費空格字元後的tab不進行替換。
user@ubuntu:~$ echo "test test"| expand -t 2
test test
user@ubuntu:~$ echo "test test"| expand -t 4
test test
user@ubuntu:~$ echo "test test"| expand -t 4 -i
test(tab)test
unexpand與expand正好相反,將空格替換為tab鍵。
相關推薦
Linux命令備忘例項(7)——雙向重定向與字元操作
1.tee(雙向重定向) 管道符或者“>”操作符都是單向的資料流,為了在資料流處理的國中將某段資訊儲存到檔案,同時希望這個資料流繼續輸出到後續的命令,那麼tee就是為了完成這樣的工作情景。 tee相當於一個分流器,將資料流分送到檔案和stdout。
Linux命令備忘例項(1)——終端輸出
終端是使用者與shell環境進行互動的視窗,所有命令的互動結果大部分都是從終端直接顯示給使用者,因此這部分是友好顯示結果的基礎。 1.命令概覽 echo是基本的終端輸出命令,直接將傳入的引數輸入,命令格式如下: echo [options] toBeOut
Linux命令備忘例項(14)——sed
sed是UNIX下非常重要的文字處理工具,是stream editor(流編輯器)的縮寫。這個命令配合正則表示式能夠處理非常強大的文字操作功能。其中眾所周知的用法就是文字替換。 1.概覽 sed [option] 'script'/scriptfile
linux備忘筆記(二)-bash
1.linux中變數的宣告 name=myname 如果值中有特殊字元,需要用引號包起來,或者前面加一個轉義符轉義符。如name=my‘name 是錯誤的 變數的銷燬 unset name 若該變數需要在其他子程式執行,則需要以 export 來使變數變成環境變數 2.用
實用收藏Linux命令備忘
屏幕 ssh 狀態 標準輸出 系統 play mkdir ger rdquo 系統操作 #使用shutdown命令馬上重啟系統[[email protected]/* */ ~]# shutdown –r now #使用shutdown命令馬上
Linux命令工具 apt-get(1)
purge tor show 命令工具 但是 nag deb 模式 其中 Advanced Package Tool,又名apt-get,是一款適用於Unix和Linux系統的應用程序管理器。最初於1998年發布,用於檢索應用程序並將其加載到Debian Linux系統。A
MySQL備忘點(下)
update 虛擬 主鍵 ble str 內聯 完全 語句 innodb 聯結表 創建聯結 FROM 表1,表2 與內連接作用相同類似;如果失去WHERE子句,會出現笛卡爾積現象 內聯結 INNER JOIN 高級聯結 自聯結 例子:
Linux設備驅動程序(一)設備驅動程序簡介
包括 收集 字符設備 調度器 計算機 啟動 驅動程序 str 單個 機制or策略: 驅動提供機制(what),而不是提供策略(how); 內核功能劃分: 根據內核完成任務的不同,可分為如下幾個部分: 1. 進程管理 負責進程的的創建和銷毀,並
Linux第二周學習筆記(7)
詳解 顯示 one per mes ctr 方向鍵 post sage Linux第二周學習筆記(7)2.13 文檔查看cat_more_less_head_tail(1). cat命令cat命令:用於查看一個文件的內容並將其顯示在屏幕上cat-A命令:顯示所有的內容,包括
《Linux學習並不難》Linux字符界面(4):重啟Linux系統之reboot命令
Linux 重啟 3.4 《Linux學習並不難》Linux字符界面(4):重啟Linux系統之reboot命令reboot的工作過程與halt相似,不過reboot是引發計算機重啟﹐而halt是引發計算機關閉。它的選項與halt相似。命令語法:reboot [選項] 命令中各選項的含義如
linux命令詳解之(at)
關閉 服務啟動 安全問題 分隔 sta 設定 tmp 指示 命令的使用 在Linux下,有兩個命令可以用來作為計劃任務而執行,at:一次性定時任務計劃執行crontab :每天定時任務計劃執行以下僅說一下一次性任務計劃執行(at)要使用一次性任務計劃,linux必須要有負責
Linux基礎命令(三):重定向、展開與引用——cat、sort、uniq、grep、wc、head、tail、tee
I/O重定向 通過這個工具,可以重定向命令的輸入輸出,命令的輸入來自檔案,而輸出也存到檔案。 也可以把多個命令連線起來組成一個強大的命令管道。 cat — 連線檔案 sort — 排序文字行 uniq — 報道或省略重複行 grep — 列印匹配行 wc — 列印
python學習例項(7)
#========================================================= #第8章 資訊保安(Information Security)的python程式 #=====================================
Linux 命令篇 之 Find(2)
正則表示式—regular expression 正則表示式,又稱正規表示法、常規表示法(英語:Regular Expression,在程式碼中常簡寫為regex、regexp或RE),電腦科學的一個概念。正則表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。在很
Linux 命令篇 之 wget(1)
wget是一個從網路上自動下載檔案的自由工具,支援通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。wget名稱的由來是"World Wide Web"與"get"的結合。 我們嘗試來下載一個網路圖片吧! 很簡單的一條命令,就w
Linux 命令篇 之 wget(2)
我們接著上面的繼續來學 Wget –r ftp://a.server:/home/www/a a.server:/home/www/a/ 這樣下載你會發現啊,預設建立一個域名和絕對路徑 但是你不想要 wget –r –nH ftp://a.server://hom
常用 Linux 命令的基本使用(一)
1常用 Linux 命令的基本使用 1.1小技巧 ctrl + shift + = 放大終端視窗的字型顯示 ctrl + - 縮小終端視窗的字型顯示 在敲出 檔案/目錄/命令 的前幾個字母之後,按下 tab 鍵 如果輸入的沒有歧義,系統會自動補全 如果還存在其他 檔案/目錄/命令,再按
Linux網路程式設計學習筆記(7)---5種I/O模型及select輪詢
本文主要介紹5種I/O模型,select函式以及利用select實現C/S模型。 1、5種I/O模型 (1)阻塞I/O: 一直等到資料到來,才會將資料從核心中拷貝到使用者空間中。 (2)非阻塞I/O: 每過一段時
Linux裝置驅動程式學習(7)-核心的資料型別
由於前面的學習中有用到 第十一章 核心資料結構型別 的知識,所以我先看了。要點如下: 將linux 移植到新的體系結構時,開發者遇到的若干問題都與不正確的資料型別有關。堅持使用嚴格的資料型別和使用 -Wall -Wstrict-prototypes 進行編譯可能避免大部分
linux命令備忘
檢視那個程序佔用了xxx埠 lsof -i:xxx 檢視程序號為xxx的程序在哪裡 ps -ef|grep xxx ========================= 常規篇: 首先,用ps檢視程序,方法如下:$ ps -ef…… smx 1822