Linux shell 中如何从路径名提取指定字符串

Linux shell 中如何从路径名提取指定字符串
我要写一个shell 脚本 ,首先需要从文件名目录名中提取一串字符,但是遇到难题。
$PWD
路径名为 /home/ lxy/ hhhhh-a.bbb.cc.d (格式类型固定)
其中 现在我只想要 a.bbb.cc 这一段。
其中 hhhhh- 格式固定
a.bbb.cc.d 这一段长度有浮动,但前面的 a. 和后面的 .d 是固定的
我需要的是 a.bbb.cc 这一段 ,试过很多办法,cut awf sed grep 都无果,急求高手解决……

以 - 为分隔符,用cut命令取第二个字段就行了啊(只要路径名里不含 - 即可)
echo "/home/lxy/hhhhh-a.bbb.cc.d" | cut -d'-' -f2

更保险一点的做法是先取出文件名(防止路径名里含 - ),然后再用上述方法处理:
echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}' | cut -d'-' -f2
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-14
[root@aiboap01 ~]# echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F'-' '{print $2}' | cut -f 1-3
-d'.'
a.bbb.cc
[root@aiboap01 ~]#
第2个回答  2012-09-06
echo /home/lxy/hhhhh-a.bbb.cc.d | awk -F"/" '{print substr($4,7,length($4)-8)}'

Linux下shell截取指定本文内的字符串
sqlldr | sed -n '\/CQCS_OPT.I_P_GU_PLED_INFO:$\/{h;:a;n;\/^$\/!{H;ba};g;p}'这样实现跟行数无关。要将结果导入到另一个文件里,用输出重定向,命令后面加 >>output

利用shell脚本如何提取一个文件中某一特定行和下面若干行的内容_百度...
1、在linux目录\/root下建立一个txt文件,内容如下,使用|竖线分割,作为我们的实验数据样本。2、sed用法、sed-n'xp'data.txt;显示文件X行数据,获取第18行数据,即为sed-n'18p'data.txt。3、sed-n'开始行,结束行p'data.txt;显示文件X行到Y行的内容:命令:sed-n'10,18p'data.txt。4、hea...

linux下怎样在一个文件里面查找一个字符串?
首先,你可以通过终端命令行工具grep来实现。只需输入`grep "要查找的字符串" 文件名`,例如,查找包含"www.dutycode.com"的test.txt文件。若想获取行号信息,添加`-n`选项,如`grep -n "www.dutycode.com" \/root\/zzh\/test\/*`。这将显示匹配的行及其所在行数。另一种方法是在文件内直接使用文...

查找字符串中指定字符的位置查找字符串linux
1、用vim打开要查找的文件 2、在normal模式下\/即可进入查找模式,输入要查询字符串 3、光标停留在loop上 4、按下n会查找下一个,注意光标 更多命令:注意,如果没有安装vim,系统会提示安装语句,复制运行即可安装vim 参考资料:linux如何替换文件指定行的特定位置字符串?可以通过Shell脚本替换字符串方式...

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

linux shell怎么查找文件中指定字符串,并把该字符串和下一行的内容写...
awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息。linuxshell中引号的使用方法:shell使用引号(单引号\/双引号)和反斜线("\\")用于向shell解释器屏蔽一些特殊字符,反引号(")对shell则有特殊意义。如:...

在linux的shell编程中如何截取一段命令返回值的第一行?
ifconfig eth0|grep eth0|awk '{print $5}' |head -1 head命令是取输入的流的头部,可以指定行数 tail命令是取输入的流的尾部

linux下如何提取日志中指定的一段内容?100分急求!!!
循环读取每一行文件(while line in `cat $log`)变量开始[sip\/2.0]为真时( if [ $flg -eq 1 ]; then )输出当前行到结果文件中( echo $line >> $retFile )如果是用户结束 ( chkEnd $line #chkEnd 是个shell函数检查是不是结束 if [ $? -eq 1 ]; then)变量变量开始[sip\/2.0]...

linux如何用Shell编写脚本获取进程目录下的cwd路径和exe路径
!\/bin\/bash process=`ps aux | grep chromium | grep -v grep | awk '{print $2}'`i=1 while true do pid=`echo $process | cut -d ' ' -f$i`if [[ $pid -eq null ]]then break fi ls \/proc\/$pid echo ' '((i++))done ...

何如利用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 后接分隔符,这里为冒号,也可以为其他的,看你的具体文件...

相似回答