电脑技术学习

使用 UNIX 进行文本处理

dn001

  清单 1. 将标准错误流连接到标准输出流

make > build-output 2>&1

  命令

  有两个常用来生成文本输出的标准 Unix 命令:cat 和 echo。

  cat 命令读取参数中指定的每个文件,并将这些文件的内容写入到 stdout。echo 命令将其参数写入到 stdout。您常常会发现它们作为更复杂的命令管道中的一部分(请参见清单 2)。

  清单 2. 使用 cat 和 echo

cat file1 file2 ... filen
echo arguments...

  但如果您只需要文件中开头的部分或结尾的部分,那又应该如何呢?cat 有两种可用来完成这种任务的变种,称为 head 和 tail(请参见清单 3),它们分别可以显示开头的或结尾的 10 行内容,您可以使用 -n 选项为它们指定不同的行数。

  清单 3. 使用 head 和 tail

head file1 file2 ... filen
tail file1 file2 ... filen

  tail 命令还有一个有用的选项 -f (follow)。该选项告诉 tail 打印指定文件的最后 10 行,但是它不仅打印已有的内容,还会等待该文件中将要出现的更多内容,并对其进行打印。您可以使用该选项接着 显示错误日志中的输出,例如,要在将错误写入到日志的同时查看这些错误。

  转换文本

  既然您已经了解了至少 5 种生成文本的方式,下面让我们来看一些进行简单文本转换的示例。

  tr 命令允许您将一个集合中的字符转换为另一个集合中相应的字符。让我们来看一些示例(清单 4),以了解其工作方式。

  清单 4. 使用 tr 对字符进行转换

echo "a test" | tr t p
echo "a test" | tr aest 1234
echo "a test" | tr -d t
echo "a test" | tr '[:lower:]' '[:upper:]'

标签: