adrci -age后面的参数单位是分钟
adrci -age后面的参数单位是分钟
nohup not working, another way to get the script run in the background
echo "/path/scriptname.sh"|at now[@more@]echo "/path/scriptname.sh"|at now
批量改文件名
使用for 循环,sed给文件批量改名。[@more@]FILES=/u04/oradata/BBBC1DF7/*for f in $FILESdo echo "***************************" echo "Processing $f file..." # take action on each file. $f store current file name newfile=`echo "${f}" | sed "s/BBBC1DF6/BBBC1DF7/g"` echo "old file is: " $f echo "new file is: " $newfile cd /u04/oradata/BBBC1DF7/ mv $f $newfiledone
scp 在后台运行
如果scp的文件很大,想让scp在后台运行。通常我们要建立ssh 信任关系,不用输入密码以让scp在后台运行,但可能没条件建立public key,两台机器无需密码,比如root身份。用以下方法可以让不需要建立ssh信任,而让scp在后台运行。[@more@] Normal 0 false false false MicrosoftInternetExplorer4 ******************************************************************** 1. scp jxiaos@HOSTNAME:/u04/oradata/ORACLE_SID1/*.* /u04/oradata/ORACLE_SID2
Date 格式化 in Unix
bash-4.2$ DATE=`date +%Y-%m-%d`bash-4.2$ echo $DATE2013-04-11[@more@]*****************************************bash-4.2$ DATE=`date +%Y-%m-%d`bash-4.2$ echo $DATE2013-04-11
shell 脚本读多个oracle_sid
shell 脚本读多个oracle_sid, 并连接数据库的脚本[@more@]#! /bin/kshset -xexport oratab_file=/var/opt/oracle/oratabexport ORACLE_HOME=/u01/app/oracle/product/11.1.0export PATH=$ORACLE_HOME/bin:$PATHexport SHL_DIR=/u01/app/oracle/dba/ora_shellsawk -F: '/^[^#].*:.*:*/ {print $1}' ${oratab_file} | while read sid_line do echo $ORACLE_SID export ORACLE_SID=${sid_line} sqlplus /nolog > ca.log << EOF connect / as sysdba insert into system.db_growth (select own
shell 的判断
#!/bin/shfile=/u03if [ "${file}" = "/u03" ]thenecho the filename is /u03#!/bin/shfile=/u03if [ "${file}" = "/u03" ]thenecho the filename is /u03fifile2=/u04if [ "${file2}" != "/u03" ]thenecho the filename is not /u03fi[@more@]
vmware 添加硬盘
一:首先介绍硬盘扩容的方法: 1、vmware提供一个命令行工具,vmware-vdiskmanager.exe,位于vmware的安装目录下,比如 C:Program FilesVMwareVMware Workstationvmware-vdiskmanager.exe. 在windows的cmd窗口中,转到vmware的安装目录 即:cd C:Program FilesVMwareVMware Workstation vmware-vdiskmanager.exe 可以查看帮助[@more@] 2. 对于扩容,可以输入下列命令: vmware-vdiskmanager -x 4Gb "D:VMwareWinXPmyLinux.vmdk" 参数"-x"表示要扩展虚拟机硬盘空间,紧随其后
Linux文件查找命令find,xargs详述
http://www.linuxsir.org/main/?q=node/137使用exec或ok来执行shell命令[@more@]总结:zhy2111314 来自:LinuxSir.Org 整理:北南南北 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解;本文是zhyfly兄贴在论坛中;我对本文进行了再次整理,为方便大家阅读; 目录 版权声明 前言:关于find命令 一、find 命令格式 1、find命令的一般形式为;2、find命令的参数;3、find命令选项;4、使用exec或ok来执行shell命令; 二、find命令的例子; 1、查找当前用户主目录下的所
Sed使用简介
1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。 2. 定址 可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这
shell 字符处理
用awk替换文件指定位(如第7位)用awk替换文件指定列(如第3列)[@more@]用SHELL替换文件指定位数字符(把第7位替换):123456789 -> 123456X89awk '{print substr($0,1,6)"X"substr($0,8,80)}' filename用awk替换文件指定列(如第3列):position=3new_value=newvalueline=ddd sss ggg www echo "${line}" | awk '{$'$position'='$new_value'; print}'To determine if the string is number type: set number_ind=`echo $2|sed 's/[0-9]//g'` if ( $number_ind == '' ) then set file_type="DELIMITER&quo
shell script to rename directory
substr in AWK to extract string[@more@]#!/bin/bashfor file in *doshowname=$fileif [ -d "$file" ] # Check if it's a directory.then# xxxx_report echo $showname | awk '{print substr($0,1,length($0)-7)}'# cut ?only need xxxxtargetname=`echo $showname | awk '{print substr($0,1,length($0)-7)}'`mv $showname $targetnameecho $file "has been changed"fidone
shell 字符串操作
From http://www.cnblogs.com/kentyshang/archive/2007/07/11/814279.html[@more@]得到长度代码:%x="abcd"#方法一%expr length $x4# 方法二靐o $4# 方法三%expr "$x" : ".*"4# expr 的帮助# STRING : REGEXP anchored pattern match of REGEXP in STRING查找子串代码:%expr index $x "b"2%expr index $x "a"1%expr index $x "b"2%expr index $x "c"3%expr index $x "d"4得到子字符串代码:# 方法一# expr <string> startpos length%expr substr &q
Bash 实例
http://www.ibm.com/developerworks/cn/linux/shell/bash/bash-2/index.html在 介绍性文章 中的样本程序中,我们使用环境变量 "$1" 来引用第一个命令行自变量。类似地,可以使用 "$2"、"$3" 等来引用传递给脚本的第二和第三个自变量。这里有一个例子: #!/usr/bin/env bash echo name of script is $0 echo first argument is $1 echo second argument is $2 echo seventeenth argument is $17 echo number of arguments is $# 除以下两个细节之外,此例无需说明。第一,"$0" 将扩
awk 实例
第一个 Awk您应该会看到 /ect/passwd 文件中的内容,本文使用该文件来解释 awk 的工作原理。当调用 awk 时,我们指定 /etc/passwd 作为输入文件。Awk 在执行期间对 /etc/passwd 文件中的每一行依次执行 print 命令。所有输出都发送到 stdout,可以得到类似 cat 命令的结果。现在解释代码块 { print }。在 Awk 中,花括号用于将代码分块,这与 C 语言类似。我们的代码块中只有一条 print 命令。在 Awk 中,当 print 命令单独出现时,将打印当前行的全部内容。 $ awk '{ print $0 }' /etc/passwd 在 Awk 中,变量 $0 表示整个当前行,因此
tr命令“字符”处理
tr是Unix系统非常实用的工具,其实用tr做到的事情,几乎都可用sed做到,你可以把tr当作是实现sed许多基本功能的sed“简体”。我认为tr是简单的“字符”处理工具,而sed是功能非常强大的“字符串”处理工具。【注意】tr是单个字符处理工具,而不是字符串处理工具!我自己用过比较实用的例子如下:1、将文件file中出现的"abc"替换为"xyz"# cat file | tr "abc" "xyz" > new_file【注意】这里,凡是在file中出现的"a"字母,都替换成"x"字母,"b"字母替换为"y
sed 命令
C.1. Sed对于sed工具包的所有操作来说, 我们最关心的其实就是3个最主要的操作. 分别是printing(打印到stdout), deletion(删除), 和substitution(替换). Sed是非交互式的行编辑器. 它即可以从stdin中接收文本输入, 也可以从文件中接收文本输入, 它对输入中的指定行进行特定的操作, 一行操作一次, 然后将结果输出到stdout, 或输出到文件中. 在shell脚本中使用的话, sed通常都是作为管道工具链中的一个处理部分来使用. Sed会决定它需要处理那些行, 因为sed的参数就包含有地址范围. [1] 既可以通过行号来指定地址范围, 也可以通过模式匹配来决
awk, sed 正则表达式
文章出处:http://www.diybl.com/course/3_program/shell/shelljs/200862/119962.html几个实例$ awk '/^(no|so)/' test-----打印所有以模式no或so开头的行。$ awk '/^[ns]/{print $1}' test-----如果记录以n或s开头,就打印这个记录。$ awk '$1 ~/[0-9][0-9]$/(print $1}' test-----如果第一个域以两个数字结束就打印这个记录。$ awk '$1 == 100 || $2 < 50' test-----如果第一个域等于100或者第二个域小于50,则打印该行。for example, contents of test as below:20 jiangxs hello20 30 jiangxs jiangzythe command shows the second
正则表达式简介
http://net.pku.edu.cn/~yhf/tutorial/tao_regexps_zh.html[@more@]么是正则表达式一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。很多人因为它们看上去比较古怪而且复杂所以不敢去使用——很不幸,这篇文章也不能够改变这一点,不过,经过一点点练习之后我就开始觉得这些复杂的表达式其实写起来还是相当简单的,而且,一旦你弄懂它们,你就能把数小时辛苦而且易错的文本处理工作压缩在几分钟(甚至几秒钟)内完成。正则表达式被各种文本编辑软件、类库(例如Rogue Wave的tools.h++)、脚本工具(像awk/grep/sed)广泛的支持
grep 正则表达式
http://blog.rednet.cn/user1/213546/archives/2007/35795.html[@more@]以下为整理的grep 正则表达式的大部分功能,详细参见man grep:要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。$ ls -l | grep '^a' 通过管道过滤ls -l输出的内容,只显示以a开头的行。$ grep 'test' d* 显示所有以d开头的文件中包含test的行。$ grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。$ grep '[a-z]{5}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符