shell查询一个指定行从某一列开始到某一列结束是否存在某个关键字如何实现

例如:文件有三行内容
aaabbbccc
dddeeefff
ggghhhiii
我要实现的是查询该文件的第二行从第三列开始到第五列结束,是否存在关键字dee,很明显,该文件第二行第三列到第五列是dee

从例子来看, 这个第三列指的是第三个字符吧
[ `sed -n "2p"|cut -c3-5` = "dee" ]追问

嗯,是第三个字符,不过我要的功能是文件的哪一行,开始和结束列(字符)都可以指定,就是您写的这个里面的3和5,以及dee我可以通过传参数来指定。您写的这个好像也没有文件名吧。

追答

文件名加在 | 的前面就好了, 写丢了

追问

假如我已经截取了某一行的一些内容并赋给一个变量line,我如何查询line里面是否包含关键字aa呢?这个问题应该明确不少吧。。。

追答

可以用[[ $line =~ aa ]]判断

追问

应该用grep,不过还是感谢您的耐心解答。

追答

两种不同的方式 grep可以 直接用shell的test也一样

温馨提示:内容为网友见解,仅供参考
无其他回答

Linux写shell script的时候如何搜索一个文件中带有一个特定关键字的所有...
read input #读取输入 grep $input filename #查找 grep $input filename > result #结果重定向到result文件

批处理如何在指定文件夹内搜索某个关键字,包含这个关键字的文件或文件...
)保存文件为 delete.bat,并将文件拖拽到命令行窗口中,按回车键运行批处理文件

shell如何结束进程?
“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。“kill -9”会强行杀掉指定进程,...

shell中如何将一条记录根据某个关键字替换成另外一个关键字
sed -i 's\/\\([^,]*\\)AAAA\\(,[^,]*\\)\\(,.*\\)\/\\1GOOD\\3\\2\\3\/' a.txt

shell打印第一列并且第二列排序怎么排
这个排序的具体步骤如下:1、使用使用cut命令提取第一列和第二列,并将它们写入标准输出。2、之后使用sort命令对第二列进行排序,将先执行cut命令提取第一列和第二列,然后将第二列作为关键字传递给sort命令进行排序。3、使用uniq命令删除重复值,在排序之后删除任何重复的行。4、将输出重定向到一个...

Linux入门学习笔记——Shell命令
3. Shell 字符串 字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接...

...提取关键字首次出现行,a.txt里毎一行是一个关键字,需从b.txt提取每...
不清楚你的实际文件\/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI\/GB2312,跟要处理的文件放一起双击运行<# :cls&echo off&cd \/d "%~dp0"&mode con lines=5000rem 根据一个指定txt文本文件里列出的多个关键字,从另一个指定txt文本文件里查找\/提取...

何如利用linux shell 脚本实现从不同文件中提取某一列或多列组成新文件...
我先编辑了两个文件a,b,内容如下 aaa:bbb:ccc ddd:eee:fff b文件内容如下:AAA:BBB:CCC DDD:EEE:FFF 如果想把a,b中第1,3字段提取出来输出到c文件中,则可这样实现:cat a b | cut -d ':' -f 1,3 > c (解释:-d 后接分隔符,这里为冒号,也可以为其他的,看你的具体文件...

Shell脚本如何实现对一个文件按关键字行来分成若干个小文件?
${endLine} p;q" $myFile >result_${count}.txt let startLine=n+1done结果保存到result_1.txt,result_2.txt,result_3.txt,result_4.txt,result_5.txt五个文件中。注:关键字行本身不保存。如果要保存关键字行,请修改代码中的 let startLine=n+1 为 startLine=$n (两处地方)...

powershell如何提取文本中的第一列数据,类似awk的功能实现
看一下例子吧:awk以制表符为分隔符,输出第一列:awk -F '\\t' '{print $1}' your_filepython读入文件,将每行用strip()去除字符串结尾的"\\t",再用split("\\t")以制表符为分隔符将该行的每一列内容放入到列表ls中,再操作列表ls就可以了:for l in file("your_file"): ls = l.strip().split("\\...

相似回答