Shell 字符串处理

在 Wed 18 June 2014 发布于 Shell 分类 • 标签为 Shell, string

字符串的长度

stringZ=abcABc123ABCabc
echo ${#stringZ}
echo `expr length $stringZ`
echo `expr "$stringZ" : '.*'`

从字符串的起始位置开始进行匹配, 返回匹配子串的长度

stringZ=abcABC123ABCabc

echo `expr match "$stringZ" 'abc[A-Z]*.2'`  #8
echo `expr "$stringZ" : 'abc[A-Z]*.2'` #8

从目标串中找出第一次出现模式串中的字符位置, 并返回其下标(下标从1开始)

stringZ=abcABC123ABCabc
echo `expr index "$stringZ" C12` #6

echo `expr index "$stringZ" 1c` #3

${string:position …


阅读全文

Shell I/O重定向

在 Sun 02 March 2014 发布于 Shell 分类

简单的说linux下I/O重定向就是把文件、命令、可执行程序、脚本等的输出作为另一个文件、命令、可执行程序、脚本做其输入数据.

每个打开的文件都分配了一个唯一的文件描述符,这个文件描述是一个整数,依次递增, 类似C语言中的open函数。 代表标准输入(stdin), 标准输出(stdout), 标准错误输出(stderr)的文件描述符分别是0、1、2。

通过>>>来进行输出重定向,对于输出重定向到文件, 需要注意的是 >会截断文件使其长度为0, 也就是说是空文件, 如果文件不存在的话,就会创建一个文件。命令> README.md:> README.md,及 touch README.md的作用一样都是创建一个空文件README.md,其中第二个命令中的:只是一个占位符 …


阅读全文