|
@@ -49,7 +49,7 @@ Hello
|
|
|
|
|
|
### 单引号
|
|
|
|
|
|
-单引号的左右主要是为了避免字符串里的特殊字符起作用。在单引号中,只有一个字符需要转义,转义符号 `\` 。所以如果字符串里包含特殊符号时,最好使用单引号包含起来,避免不必要的麻烦。但是单引号里不能再有单引号,即使加转义符号也不行,如果字符串需要包含单引号,可以使用这几种方法。
|
|
|
+单引号的左右主要是为了避免字符串里的特殊字符起作用。在单引号中,只有一个字符需要转义,转义符号 `\` 。所以如果字符串里包含特殊符号时,最好使用单引号包含起来,避免不必要的麻烦。如果字符串需要包含单引号,可以使用这几种方法。
|
|
|
|
|
|
```
|
|
|
# 用双引号包含
|
|
@@ -150,7 +150,7 @@ Line one
|
|
|
`-l` 用于分行输出字符串:
|
|
|
|
|
|
```
|
|
|
-# 每个字符串一行,字符串是用空格隔开的
|
|
|
+# 每个字符串一行,字符串列表是用空格隔开的
|
|
|
% print -l aa bb
|
|
|
aa
|
|
|
bb
|
|
@@ -168,7 +168,7 @@ bb
|
|
|
```
|
|
|
% print abc
|
|
|
abc
|
|
|
-# 这个 % 高亮显示,代表这一行末尾没有换行符
|
|
|
+# 下面输出 abc 后的 % 高亮显示,代表这一行末尾没有换行符
|
|
|
% print -n abc
|
|
|
abc%
|
|
|
```
|
|
@@ -269,7 +269,7 @@ aabbcc%
|
|
|
0000000c
|
|
|
```
|
|
|
|
|
|
-`-X` 用于将所有的 tab 替换成空格。注意不是简单地替换成空格。比如每行有一个 tab,`-X 8`,那么如果 tab 前(到行首或者上一个 tab)有 5 个字符,就补全 3 个空格,凑够 8,这么做是为了对齐每一列的。但如果前边有 8 个或者 8 个以上字符,那么依然是一个 tab 替换成 8 个字符,因为 tab 不能凭空消失,一定要转成至少一个空格才行。如果没理解就自己多试试找规律吧。
|
|
|
+`-X` 用于将所有的 tab 补全成空格。注意不是简单地替换成空格。比如每行有一个 tab,`-X 8`,那么如果 tab 前(到行首或者上一个 tab)有 5 个字符,就补全 3 个空格,凑够 8,这么做是为了对齐每一列的。但如果前边有 8 个或者 8 个以上字符,那么依然是一个 tab 替换成 8 个字符,因为 tab 不能凭空消失,一定要转成至少一个空格才行。如果没理解就自己多试试找规律吧。
|
|
|
|
|
|
```
|
|
|
% print -X 2 'ab\t\tabc' | hexdump -C
|
|
@@ -281,7 +281,7 @@ aabbcc%
|
|
|
0000000c
|
|
|
```
|
|
|
|
|
|
-`-u` 用于指定 fd 输出。`print` 默认输出到 fd 1,即 stdout,可以指定成其他 fd(2 是 stderr,其他的可以运行 `ls -l /proc/$$/fd` 查看。
|
|
|
+`-u` 用于指定文件描述符(fd)输出。`print` 默认输出到 fd 1,即 stdout,可以指定成其他 fd(2 是 stderr,其他的可以运行 `ls -l /proc/$$/fd` 查看。
|
|
|
|
|
|
```
|
|
|
% print -u 2 good
|
|
@@ -334,9 +334,9 @@ aa bb cc
|
|
|
`printf` 命令很像 c 语言的 `printf` 函数,用于输出格式化后的字符串:
|
|
|
|
|
|
```
|
|
|
-# 输出末尾的 % 代表该行末尾没有换行符
|
|
|
-# printf 不会在输出末尾添加换行符
|
|
|
-# 为了避免误解,之后的例子省略该符号
|
|
|
+# 末尾输出高亮的 % 代表该行末尾没有换行符
|
|
|
+# printf 不会在输出末尾自动添加换行符
|
|
|
+# 为了避免误解,之后的例子省略该 % 符号
|
|
|
% printf ":%d %f:" 12 34.56
|
|
|
:12 34.560000:%
|
|
|
```
|
|
@@ -348,7 +348,7 @@ aa bb cc
|
|
|
% printf "%d %f %s" 12 12.34 abcd
|
|
|
12 12.340000 abcd%
|
|
|
|
|
|
-# 取小数点后几位
|
|
|
+# 取小数点后 1 位
|
|
|
% printf "%.1f" 12.34
|
|
|
12.3
|
|
|
|
|
@@ -360,7 +360,7 @@ aa bb cc
|
|
|
% printf "%x" 12
|
|
|
c
|
|
|
|
|
|
-# 补齐空格或者0
|
|
|
+# 补齐空格或者补齐 0
|
|
|
% printf "%5d\n%05d" 12 12
|
|
|
12
|
|
|
00012
|
|
@@ -413,7 +413,6 @@ X x -- unsigned hexadecimal number, letters capitalized as x
|
|
|
% print -P '%B%F{red}abc'
|
|
|
abc
|
|
|
|
|
|
-
|
|
|
# 没覆盖到的功能可以用原始的转义符号,可读性比较差
|
|
|
# 4[0-7] 背景色
|
|
|
# 3[0-7] 前景色
|
|
@@ -431,18 +430,18 @@ abc
|
|
|
| 选项 | 功能 | 参数 |
|
|
|
| ---- | --------------------- | --------- |
|
|
|
| -C | 按列输出 | 列数 |
|
|
|
-| -D | 替换路径成带 ~ 的版本 | 无 |
|
|
|
-| -N | 使用 \x00 作为字符串的间隔 | 无 |
|
|
|
+| -D | 替换路径成带 `~` 的版本 | 无 |
|
|
|
+| -N | 使用 `\x00` 作为字符串的间隔 | 无 |
|
|
|
| -O | 降序排列 | 无 |
|
|
|
| -P | 输出颜色和特殊样式 | 无 |
|
|
|
-| -R | 模拟 echo 命令 | 无 |
|
|
|
+| -R | 模拟 `echo` 命令 | 无 |
|
|
|
| -S | 放命令放入历史命令文件(要加引号) | 无 |
|
|
|
| -X | 替换所有 tab 为空格 | tab 对应空格数 |
|
|
|
-| -a | 和 -c/-C 一起使用时,改为从左到右 | 无 |
|
|
|
+| -a | 和 `-c`/`-C` 一起使用时,改为从左到右 | 无 |
|
|
|
| -b | 识别出 bindkey 转义字符串 | 无 |
|
|
|
| -c | 按列输出(自动决定列数) | 无 |
|
|
|
-| -f | 同 printf | 无 |
|
|
|
-| -i | 和 -o/-O 一起用时,大小写不敏感排序 | 无 |
|
|
|
+| -f | 同 `printf` | 无 |
|
|
|
+| -i | 和 `-o`/`-O` 一起用时,大小写不敏感排序 | 无 |
|
|
|
| -l | 使用换行符作为字符串分隔符 | 无 |
|
|
|
| -m | 只输出匹配的字符串 | 匹配模式字符串 |
|
|
|
| -n | 不自动添加最后的换行符 | 无 |
|