Home | Mirror | Search

第 31 章 Utility Programs

目錄

1. ed, red - text editor
2. vim
2.1. 查找與替換
2.2. 批處理
2.2.1. vi 批處理
2.3. line()
3. awk
3.1. 處理列
3.2. printf
3.3. 查找檔案並刪除
3.4. Pattern(字元匹配)
3.4.1. Pattern, Pattern
3.5. Built-in Variables
3.5.1. NF
3.5.1.1. TCP/IP Status
3.5.1.2. 用戶shell統計
3.5.1.3. access.log POST與GET統計
3.6. Built-in Functions
3.6.1. length
3.7. 過濾相同的行
4. sed
4.1. find and replace
4.1.1. 正則
4.1.2. delete
4.1.3. aaa="bbb" 提取bbb
5. CURL - transfer a URL
5.1. 基本用法
5.2. data
5.3. connect-timeout
5.4. compressed
5.5. vhosts
5.6. http status
5.7. -A/--user-agent <agent string>
5.8. referer
5.9. -v
5.10. -o/--output <file>
5.11. -H/--header <line> Custom header to pass to server (H)
5.11.1. Last-Modified / If-Modified-Since
5.11.2. ETag / If-None-Match
5.11.3. Accept-Encoding:gzip,defalte
5.11.4. HOST
6. expect
6.1. 模擬登錄 telnet 獲取Cisco配置
6.2. 模擬登錄 ssh
6.3. SCP
7. wget - retrieves files from the web
7.1. HTTP options
7.1.1. --post-data=STRING use the POST method; send STRING as the data.
7.2. Recursive download
7.2.1. -r, --recursive specify recursive download.
7.2.2. -m, --mirror shortcut for -N -r -l inf --no-remove-listing.
7.3. --no-passive-ftp disable the "passive" transfer mode.
8. screen - screen manager with VT100/ANSI terminal emulation
9. TUI
9.1. tmux
9.2. htop - interactive process viewer
9.3. elinks
9.4. chat

1. ed, red - text editor

行定址

.	此選項對當前行定址(預設地址)。
number	此選項對第 number 行定址。可以按逗號分隔的範圍 (first,last) 對行定址。0 代表緩衝區的開頭(第一行之前)。
-number	此選項對當前行之前的第 number 行定址。如果沒有 number,則減號對緊跟在當前行之前的行定址。
+number	此選項對當前行之後的第 number 行定址。如果沒有 number,則加號對緊跟在當前行之後的行定址。
$	此選項對最後一行定址。
,	此選項對第一至最後一行定址,包括第一行和最後一行(與 1,$ 相同)。
;	此選項對當前行至最後一行定址。
/pattern/	此選項對下一個包含與 pattern 匹配的文本的行定址。
?pattern?	此選項對上一個包含與 pattern 匹配的文本的行定址。	
		

命令描述

a	此命令在指定的地址之後追加文本。
c	此命令將指定的地址更改為給定的文本。
d	此命令刪除指定地址處的行。
i	此命令在指定的地址之前插入文本。
q	此命令在將緩衝區保存到磁碟後終止程序並退出。
r file	此命令讀取 filespec 的內容並將其插入指定的地址之後。
s/pattern/replacement/	此命令將匹配 pattern 的文本替換為指定地址中的 replacement 文本。
w file	此命令將指定的地址寫到 file。如果沒有 address,則此命令預設使用整個緩衝區。
		

實例,刪除passwd中的neo用戶

		
ed -s passwd <<EOF
/neo/
d
wq
EOF
		
		
		
ed -s mfsmetalogger.cfg <<EOF
,s/^# //
wq
EOF		
		
		

刪除尾隨空格

		
$ cat -vet input.txt

This line has trailing blanks.    $
This line does not.$

$ (echo ',s/ *$//'; echo 'wq') | ed -s input.txt

$ cat -vet input.txt

This line has trailing blanks.$
This line does not.$
				
		
comments powered by Disqus