版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whandgdh/article/details/84313476
一、read
1.1、从输入中 读取n个字符 并存入变量variable_name
read -n number_of_chars variable_name
1.2、无回显的方式读取密码
read -s var
1.3、显示提示信息
read -p "Enter input:" var
1.4、 在特定的时限内读取输入
read -t 2 var
1.5、用特定的定界符作为输入行的结束
语法:read - d delim_char var
read -d ":" var
二、cat
cat 它本身表示concatenate(拼接)。它通常用于读取、显示或拼接文件内容,也可以将来自标准输入以及文件的数据给组合起来。不再需要繁琐的重定向。
2.1、打印多个文件的内容
cat stderr.txt stdout.txt
2.2、从标准输入中读取数据
echo 'Text through stdin' | cat - stdout.txt
用cat 将来自输入文件的内容 与标准输入拼接在一起,将stdin和另一个文件中的数据结合起来
2.3、摆脱多余的空白行
cat multi_blanks.txt
看到 multi_blanks.txt中有多余的空白行。
cat -s multi_blanks.txt
当遇到有连续两行或两行以上的空白行,就代换为一行的空白行
2.4、将制表符显示为^I
单从视觉上很难将制表符同连续的空格区分开
-T -- show-tabs: 将 TAB 字符显示为 ^I
cat -T multi_blanks.txt
2.5、显示行号
cat -n 显示行号,但是cat 不会修改文件,只是在stdout中生成一个修改过的输出而已。
从下图看到并未修改源文件
2.6跳过空白行标记行号
cat -b a2
2.7 cat 其他选项详解
n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-e : 等价于 -vE。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;