Linux脚本攻略学习笔记之read与cat实例演示

版权声明:本文为博主原创文章,未经博主允许不得转载。 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"选项;

猜你喜欢

转载自blog.csdn.net/whandgdh/article/details/84313476
今日推荐