ITPub博客

首页 > Linux操作系统 > Linux操作系统 > shell - 文件名匹配,输入与输出

shell - 文件名匹配,输入与输出

原创 Linux操作系统 作者:zhaojienju 时间:2011-01-19 16:01:02 0 删除 编辑

文件名匹配

 

* 任意字符串

? 单个字符

[ ] 其中包含的字符

[! ]非其中包含的字符

 

 

zged1a_eda 349 : ls -l D*

-rw-r--r--   1 eda      oinstall    1499 Nov  2 08:23 Diff_Report.txt

-rw-r--r--   1 eda      oinstall 4069534 Nov  2 08:23 Diff_result.txt

zged1a_eda 350 : ls -l Diff_?????t.txt

-rw-r--r--   1 eda      oinstall    1499 Nov  2 08:23 Diff_Report.txt

-rw-r--r--   1 eda      oinstall 4069534 Nov  2 08:23 Diff_result.txt

zged1a_eda 351 : ls -l [LD]*

-rw-r--r--   1 eda      oinstall    1499 Nov  2 08:23 Diff_Report.txt

-rw-r--r--   1 eda      oinstall 4069534 Nov  2 08:23 Diff_result.txt

-rw-r--r--   1 eda      oinstall     734 Nov  2 08:23 Legacy_1.txt

-rw-r--r--   1 eda      oinstall     734 Nov  2 08:23 Legacy_2.txt

-rw-r--r--   1 eda      oinstall     734 Nov  2 08:23 Legacy_3.txt

zged1a_eda 353 : ls -l [!ab]*

-rw-r--r--   1 eda      oinstall    1499 Nov  2 08:23 Diff_Report.txt

-rw-r--r--   1 eda      oinstall 4069534 Nov  2 08:23 Diff_result.txt

-rw-r--r--   1 eda      oinstall     734 Nov  2 08:23 Legacy_1.txt

-rw-r--r--   1 eda      oinstall     734 Nov  2 08:23 Legacy_2.txt

-rw-r--r--   1 eda      oinstall     734 Nov  2 0:23 Legacy_3.txt

 

 

zged4a_eda 315 : ls -l [a-z]*

lrwxrwxrwx   1 eda      oinstall       4 Jan 18 03:33 linktest -> test

-rwsrwlrwx   1 eda      oinstall       0 Jan 18 03:05 test

-rw-r--r--   1 eda      oinstall       0 Jan 19 02:00 testnew

-rw-r--r--   1 eda      oinstall       0 Jan 18 02:00 testold

-rw-r--r--   1 eda      oinstall     458 Jan 18 09:35 tmp

lrwxrwxrwx   1 eda      oinstall       4 Jan 18 03:39 u04 -> /u04

zged4a_eda 316 : ls -l [0-9]*

-rwxr-xr-x   1 eda      oinstall    4911 Jan 18 09:33 502163_p_log.xml

 

Shell输入与输出

zged4a_eda 317 : echo "test"

test

zged4a_eda 318 : echo "test :\c"

test :zged4a_eda 319 :

zged4a_eda 319 :

zged4a_eda 319 : echo "test \n"

test

 

zged4a_eda 321 : echo "test\t\ttest"

test            test

 

 

用echo写文件,追加文字

zged4a_eda 324 : echo "test" > test

zged4a_eda 325 : more test

test

zged4a_eda 326 : echo "test a world" > test

zged4a_eda 327 : more test

test a world

zged4a_eda 328 : echo "test a world" >> test

zged4a_eda 329 : more test

test a world

test a world

zged4a_eda 330 : echo "append `date`" >> test

zged4a_eda 331 : more test

test a world

test a world

append Wednesday January 19 06:17:47 GMT 2011

 

\用来转义

zged4a_eda 332 : echo "\"test\"" >> test

zged4a_eda 333 : more test

test a world

test a world

append Wednesday January 19 06:17:47 GMT 2011

"test"

 

Read

zged4a_eda 334 : read name

alice

zged4a_eda 336 : echo $name

alice

zged4a_eda 337 : read name surname

alice zhao

zged4a_eda 338 : echo $name

alice

zged4a_eda 339 : echo $surname

zhao

 

cat显示文件,创建文件,显示控制字符

创建文件,用ctrl+d结束输入

zged4a_eda 354 : cat > file1

this is a greate

editor

hello

world!

显示文件

zged4a_eda 355 : more file1

this is a greate

editor

hello

world!

 

Cat –v filename 可以显示控制字符

 

重定向 >

管道符号 | : 把一个命令的输出作为另一个命令的输入

重定向很有用,尤其和awk, sed, grep结合起来使用

zged4a_eda 364 : ls -la

total 96

drwxr-xr-x   2 eda      oinstall    8192 Jan 19 06:37 .

drwxrwxrwx  53 oracle   dba         8192 Jan 13 08:14 ..

-rwxr-xr-x   1 eda      oinstall    4911 Jan 18 09:33 502163_p_log.xml

-rw-r--r--   1 eda      oinstall      38 Jan 19 06:39 file1

lrwxrwxrwx   1 eda      oinstall       4 Jan 18 03:33 linktest -> test

-rwxrwlrwx   1 eda      oinstall      79 Jan 19 06:18 test

-rw-r--r--   1 eda      oinstall       0 Jan 19 02:00 testnew

-rw-r--r--   1 eda      oinstall       0 Jan 18 02:00 testold

-rw-r--r--   1 eda      oinstall     458 Jan 18 09:35 tmp

lrwxrwxrwx   1 eda      oinstall       4 Jan 18 03:39 u04 -> /u04

zged4a_eda 365 : ls -l | awk '{print $1"\t"$2}'   仅输出前两列

total   64

-rwxr-xr-x      1

-rw-r--r--      1

lrwxrwxrwx      1

-rwxrwlrwx      1

-rw-r--r--      1

-rw-r--r--      1

-rw-r--r--      1

lrwxrwxrwx      1

 

tee:把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中

zged4a_eda 375 : ls -l | tee log

tee –a file 

-a是append

 

标准输入,输出,错误分别对应文件描述符0, 1, 2

 

重定向标准输入输出错误

Command > filename 标准输出重定向到文件

Command > filename 2>&1 标准输出和错误重定向到文件

Command 2 > filename 标准错误重定向到文件

Command < filename > filename 以一个文件作为标准输入,以另一个文件作为标准输出

 

 

 

 

zged4a_eda 378 : cat > alpha

b

a

d

c

abc

efg

ok

zged4a_eda 431 : sort < alpha 将alpha文件作为输入,进行排序

a

abc

b

c

d

efg

ok

 

<非常有用。Shell将<<之后直到下一个同样的分界符之前的所有内容都作为输入。比如此处用END作为分界符。

zged4a_eda 432 : cat >> alpha <

> hello,

> i'm using << character to do some testing

> bye

> END

 

重定向标准错误

zged4a_eda 434 : grep "test" smaple

grep: can't open smaple

zged4a_eda 435 : grep "test" smaple 2>/dev/null

 

可以用这种格式,执行一个命令,标准错误重定向,使用分界符,在使用sqlplus连接数据库,执行命令,同时保存错误输出很有用。

cat >> filetest 2>&1 <

> this is a testing

> END

 

exec 命令 命令参数
功能:当shell执行到exec语句时,不会去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程,也就是最初的shell就终止了,所以shell程序中exec后面的语句将不再被执行。

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11903161/viewspace-684232/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论