麻烦大侠们
by icefishxmg - Shell - 2014-07-12 15:07:28 阅读(4989) 回复(16)
请教一个匹配问题,我一个文档有12003-12026 24个数字,我直接写cat 1.txt | grep -E “120[03-26]”为啥不行呢?最后我只能cat 1.txt | grep -E "120(0[3-9]|1[0-9]|2[0-6])" 才成功,谁能帮我解释下为啥cat 1.txt | grep -E “120[03-26]”这么写不可以呢?学艺不精啊
本帖最后由 General_1989 于 2012-06-20 17:23 编辑 这是整理的SQl日志文件 sql.log #120618 13:07:48 SET INSERT_ID=104 #120618 13:07:48 INSERT INTO `search` (上面四行是固定格式) #120618 13:07:49 UPDATE `book` #120618 13:07:49 UPDATE `book` #120618 13:07:48 SET INSERT_ID=104 #120618 13:07:48 INSERT INTO `search` 所以我要把跟某表有关的sql全部打出来,即 search表的sql都在一个文件中,book表的s...
像下边这种格式,路径带空格,结构不一样,怎么得到像 rfwmain.exe ie4uinit.exe browseui.dll setup50.exe 这种文件名, 和整个带空格的路径? 求高手帮忙! 我用awk 常试了一下,没有解决。 C:\Program Files\Rising\Rfw\rfwmain.exe" -Startup C:\WINDOWS\system32\ie4uinit.exe -BaseSettings %ProgramFiles%\Outlook Express\setup50.exe" /APP:OE /CALLER:WINNT /user /install %SystemRoot%\system32\browseui.dll
练习shell写了个管理系统,在用户输入域名后,要检查域名是否是正常的域名.想了二天,查了无数的资料,都没有搞定,请教一下高人们. if [! -n "$DomainName"];then echo "Domain Name is empty" exit 0 elif ["$DomainName"=="[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?"];then ............. 不会写啦,上面写的域名匹配也不能正常工作.
最近在看 linux advance shell 一书的特殊字符一节时,对下面这个没明白过来,请师兄们给讲解一下 echo {file1,file2}\:{\A," B",' C'} 最后输出为啥是 file1 : A file1 : B file1 : C fiel2 : A fiel2 : B fiel2 : C 呢?
本帖最后由 609854 于 2012-08-09 16:41 编辑 问题描述: --data-- line1 ^^a^^ line2 ^^a^^ line4 ^^a^^ line5 message 对每行进行匹配,有^^a^^的 输出1;空的 输出2; 不为空且没有^^a^^ 输出3。 我用awk '/^^a^^/ {print x}' , 匹配 不出来 ,if里应该怎么写
目的是第一列不变,第二列向下循环1错位,多谢! 原位置: 5J819VJR 1-2009-09-15/0D5C/83197819.html 5J823PC3 2-2009-09-15/0D5B/84043395.html 5J825SPM 3-2009-09-15/0D5G/84112438.html 5J825BPM 4-2009-09-15/0D5G/84112438.html 想达到效果: 5J819VJR 4-2009-09-15/0D5G/84112438.html 5J823PC3 1-2009-09-15/0D5C/83197819.html 5J825SPM 2-2009-09-15/0D5B/84043395.html 5J825BPM 3-2009-09-15/0D5G/84112438.html
有一下一些文件 abc_abc_1231.txt abc123_abc_1321.txt ... ... 想实现找出所有文件显示结果为 abc_abc abc123_abc 写了一个 #!/bin/bash ls *.txt |cut -d/ -f4 |while read file do filename=${file//[0-9]} filelist=${filename//"_.txt"} #echo $filename echo $filelist done 显示结果为 abc_abc abc_abc 对实现要求不满足, 如何匹配将字母前_的字符串匹配出来? [ 本帖最后由 barrywong 于 2008-10-14 11:36 编辑 ]
[code] #! /bin/bash echo "input your use shell(eg:bash,kash,sh,csh):" read sh while [ "$sh" != [[abck]sh] ] do echo "this shell is nonsupport!reply input:" read sh done [/code] 以上此段是小弟写的为了实现判断输入的是否合法的shell。但是一直错误的循环,例如我输入了bash它还是显示“this shell is nonsupport!reply input” 请高人指点。