目录
- 7.1. ed, red - text editor
- 7.2. vim
-
- 7.2.1. 查找与替换
- 7.2.2. 插入文件
- 7.2.3. 批处理
-
- 7.2.3.1. vi 批处理
- 7.2.4. line()
- 7.2.5. set fileformat
- 7.3. awk
-
- 7.3.1. 处理列
- 7.3.2. printf
- 7.3.3. Pattern(字符匹配)
-
- 7.3.3.1. Pattern, Pattern
- 7.3.4. Built-in Variables (NR/NF)
-
- 7.3.4.1. NR
- 7.3.4.2. NF
- 7.3.4.3. 练习
- 7.3.5. Built-in Functions
-
- 7.3.5.1. length
- 7.3.6. 过滤相同的行
- 7.4. sed
-
- 7.4.1. 查找与替换
-
- 7.4.1.1. 正则
- 7.4.1.2. aaa="bbb" 提取bbb
- 7.4.1.3. 首字母大写
- 7.4.2. insert 插入字符
- 7.4.3. 追加字符
- 7.4.4. 修改字符
- 7.4.5. 删除字符
-
- 7.4.5.1. delete
- 7.4.6. 行操作
- 7.4.7. 编辑文件
- 7.4.8. 正则表达式
- 7.4.9. 管道操作
- 7.4.10. perl
- 7.5. CURL - transfer a URL
-
- 7.5.1. 基本用法
- 7.5.2. data
- 7.5.3. connect-timeout
- 7.5.4. max-time
- 7.5.5. compressed
- 7.5.6. vhosts
- 7.5.7. -w, --write-out <format> 输出格式定义
- 7.5.8. -A/--user-agent <agent string>
- 7.5.9. referer
- 7.5.10. -v
- 7.5.11. -o, --output FILE Write output to <file> instead of stdout
- 7.5.12. -H/--header <line> Custom header to pass to server (H)
-
- 7.5.12.1. Last-Modified / If-Modified-Since
- 7.5.12.2. ETag / If-None-Match
- 7.5.12.3. Accept-Encoding:gzip,defalte
- 7.5.12.4. HOST
- 7.5.12.5. HTTP 认证
- 7.5.13. curl-config
- 7.5.14. 指定网络接口或者地址
- 7.5.15. Cookie 处理
- 7.5.16. RestFul 应用 JSON 数据处理
- 7.5.17. FAQ
- 7.6. expect
-
- 7.6.1. 模拟登录 telnet 获取Cisco配置
- 7.6.2. 模拟登录 ssh
- 7.6.3. SCP
- 7.7. expect-lite - quick and easy command line automation tool
- 7.8. sshpass - noninteractive ssh password provider
- 7.9. Klish - Kommand Line Interface Shell (the fork of clish project)
-
- 7.9.1. 安装Klish
- 7.9.2. 为用户指定clish作为默认Shell
- 7.9.3. FAQ
-
- 7.9.3.1. clish/shell/shell_expat.c:36:19: fatal error: expat.h: No such file or directory
- 7.10. Limited command Shell (lshell)
- 7.11. wget - retrieves files from the web
-
- 7.11.1. Logging and input file
-
- 7.11.1.1. -i, --input-file=FILE download URLs found in local or external FILE.
- 7.11.2. 下载相关参数
-
- 7.11.2.1. -O, --output-document=FILE write documents to FILE 保存到文件
- 7.11.3. HTTP options (HTTP 选项)
-
- 7.11.3.1. --post-data=STRING use the POST method; send STRING as the data.
- 7.11.3.2. header HTTP头定义
- 7.11.4. Recursive download
-
- 7.11.4.1. -r, --recursive specify recursive download.
- 7.11.4.2. -m, --mirror shortcut for -N -r -l inf --no-remove-listing.
- 7.11.5. --no-passive-ftp disable the "passive" transfer mode.
- 7.12. TUI
-
- 7.12.1. screen - screen manager with VT100/ANSI terminal emulation
- 7.12.2. tmux — terminal multiplexer
- 7.12.3. byobu - wrapper script for seeding a user's byobu configuration and launching a text based window manager (either screen or tmux)
- 7.12.4. htop - interactive process viewer
- 7.12.5. elinks
- 7.12.6. chat
- 7.13. parallel - build and execute shell command lines from standard input in parallel
7.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.$
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。