文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell基础之基本命令

shell基础之基本命令

时间:2010-10-17  来源:syukayo

                shell 基本命令分析 <一>   1. echo synopsis     echo [SHORT-OPTION]... [STRING]...     echo LONG-OPTION   作用:echo the string(s) to standard output 常用option: -n   取消行末换行符 -e   启用反斜线控制字符的转换   (如: \t, \n, \r, \b) -E   关闭反斜线控制字符的转换

$ echo first line
first line
$ echo -n first line
first line $


$ echo -e "a\tb\tc\nd\te\tf"
a    b    c
d    e    f

 

2. tr

synopsis

   tr [OPTION] ... SET1 [SET2]

description

   translate, squeeze, and/or delete characters from standard input, writing to standard output.

tr用来从标准输入中通过替换或删除操作进行字符转换。主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。
tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始.

带有最常用选项的tr命令格式为:

tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] inputfile

-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。

去除重复出现的字符

$ cat sample.txt
thisss is a sammmpllleee.

 

$tr -s [a-z] < sample.txt
this is a sample.

or

$cat sample.txt | tr -s [a-z]
this is a sample.


删除空行

$cat space.txt
first line


second line

 

$cat space.txt | tr -s "[\n]"
first line
second line


大写到小写
除了删除控制字符,转换大小写是tr最常用的功能.为此需指定即将转换的小写字符[a-z]和转换结果[A-Z].

$echo "first second." | tr [a-z] [A-Z]
FIRST SECOND.

也可以使用字符类[:lower:]和[:upper:] 

$echo "first second" | tr [:lower:] [:upper:]
FIRST SECOND

删除指定字符

$cat char.txt
one 123
two 2345
three 345622

输出保留字符,不要数字

$tr -cs "[a-z][A-Z]" "[\n*]" < char.txt
one
two
three

转换控制字符

unix中打开来自dos的文件时,会遇到如下格式的文本.

$cat -v dos.txt
this file from dos^M
I want to change it^M
^Z

使用-s 选项将^M,^Z转换成回车符.查ASCII表,^M是015,^Z是032.

$tr -s "[\015\032]" "\n" < dos.txt > unix.txt
$cat -v unix.txt
this file from dos
I want to change it

将所有Tab换空行:  tab 011, space 040

$tr -s "[\011]" "[\040*]" < tabtos.txt

[character*n]格式匹配多于一个字符

 


 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载