社区
Linux/Unix社区
帖子详情
shell 如何判断某个文件名是以某个字符开头的
dingxy
2008-03-31 03:07:26
shell 如何判断某个文件名是以某个字符开头,谢谢
...全文
2124
13
打赏
收藏
shell 如何判断某个文件名是以某个字符开头的
shell 如何判断某个文件名是以某个字符开头,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dingxy
2008-04-02
打赏
举报
回复
感谢感谢!收藏。
我试过了,basename 也可以的:)
发现shell的内容太多了... 以前只是看,现在到自己写了,才知道
不错,又学了一招,嘿嘿
x86
2008-04-01
打赏
举报
回复
帮楼上补充一下,%和%%也有类似作用,不过是从后面往前匹配。
而${var/pattern/string}则用来替换。
例子:
TEST=/home/cam/book/long.file.name && echo ${TEST##/*/}
TEST=/home/cam/book/long.file.name && echo ${TEST#/*/}
TEST=/home/cam/book/long.file.name && echo ${TEST%.*}
TEST=/home/cam/book/long.file.name && echo ${TEST%%.*}
推荐《学习bash》一书,有电子版《Learning the bash shell》
hzcpig
2008-04-01
打赏
举报
回复
${value#pattern}
${value##pattern}
去掉value中与pattern相匹配的部分,条件是value的开头与pattern相匹配
#与##的区别在于一个是最短匹配模式,一个是最长匹配模式.
x86
2008-04-01
打赏
举报
回复
basename命令可以取得文件名。
dingxy
2008-04-01
打赏
举报
回复
恩,基本解决了,非常感谢楼上两位,不过是否可解释一下
filename=${PATH1##*/} 的语法呢,谢谢!
cceczjxy
2008-04-01
打赏
举报
回复
PATH1=/root/hzc/test.txt
filename=${PATH1##*/}
echo $filename
pos="tesi"
if [ `expr match $filename $pos ` -ne 0 ]
then
echo yes !
else
echo no
fi
cceczjxy
2008-04-01
打赏
举报
回复
借楼上的
PATH1=/root/hzc/test.txt
filename=${PATH1##*/}
pos=t
if [ `expr match $filename $pos ` -eq 1 ]
then
echo yes !
else
echo no
fi
hzcpig
2008-04-01
打赏
举报
回复
[code=BatchFile]$ cat test.sh
PATH=/root/hzc/test.txt
echo ${PATH}
echo ${PATH##*/}
$ ./test.sh
/root/hzc/test.txt
test.txt[/code]
dingxy
2008-04-01
打赏
举报
回复
我的想法的是先取出路径中file的名字,然后在判断,但是不知道怎么取。。。。。
dingxy
2008-04-01
打赏
举报
回复
cym64039 ,是否可以详细讲一下你的意思呢?偶对awk不甚了解呢>:<
新的问题:
在local :在shell script aa.sh 中,用下面的语句找到第一个输入参数的开头两个字符,判断是否为"cn"
注意:这里传入的参数不带路径为:cndxy.txt ,程序没问题
======= aa.sh =========
... ...
INFILE=$1
if [[ ${INFILE:0:2} = "cn" ]]
then
PREFIX="cn"
fi
... ...
=======end of aa.sh=====
但是如果,从另外一架server 调用该shell script,输入的参数有路径:/aa/bb/cc/cndxy.txt
我该怎么判断"/aa/bb/cc/cndxy.txt"是否file name:cndxy.txt含有cn呢?
不知道说清楚了没有,先谢谢各位:)
cym64039
2008-03-31
打赏
举报
回复
awk 'BEGIN {print index(filename,first)}'
dingxy
2008-03-31
打赏
举报
回复
自己回答:),欢迎补充。。
echo ${string:1:2}
或者:echo $string |cut -c 1-2
xxgamexx
2008-03-31
打赏
举报
回复
mark
what about comparing ascii pattern?
shell
如何
判断
某个
文件名
以某个
字符
开头
~
问题:
shell
如何
判断
某个
文件名
以某个
字符
开头
~解决:#var="cn get the length of me"#$1: parameter 1 传要
判断
的
文件名
字var=$1isCN=false#${var:0:2} 取var子串,从第0个
字符
起,取2两个
字符
if [[ ${var:0:2} -eq "cn" ]]thenecho sub is chinese ${var:0:2}els
shell
如何
判断
某个
文件名
以某个
字符
开头
问题:
shell
如何
判断
某个
文件名
以某个
字符
开头
~ 解决: #var="cn get the length of me" #$1: parameter 1 传要
判断
的
文件名
字 var=$1 isCN=false #${var:0:2} 取var子串,从第0个
字符
起,取2两个
字符
if [[ ${var:0:2} -eq "cn" ]] then echo sub
shell
脚本识别文件夹内以某个
字符
串
开头
的文件
需求描述: 需要读取到文件夹内的
文件名
,并根据
文件名
开头
的四个
字符
串来分别放入不同的路径 实现代码 #!/bin/bash -x time=$(date "+%Y%m%d%H%M%S") #print $info in screen and write in file function printAndWrite(){ info=$1 echo $info echo $info >...
用
shell
批量修改
文件名
必须添加,否则会认为是
字符
串;必须j+=1,而不能用j++,否则结果会为拼接
字符
串。给某些文件按某种规则重命名,如按照1,2,3,4..命名,保留原格式。如下图,想将所有带(x)的全部删掉。
shell
如何
判断
某个
文件名
以某个
字符
开头
。
Shell
中实现整数自增的几种方法示例。
Shell
处理带空格的
文件名
的方法。
Shell
判断
字符
串是否包含小结。,此处用于声明是数字类型的。
shell
获取文件扩展名。
Shell
判断
是否包含给定
字符
串
先打印长
字符
串,然后在长
字符
串中 grep 查找要搜索的
字符
串,用变量result记录结果,如果结果不为空,说明str1包含str2。我们在写 bash 脚本的时候,假如有一个
字符
串,我们想检查其中是否包含另一个子
字符
串,那这个时候需要怎样做呢?这里介绍
Shell
判断
字符
串包含关系的几种方法。在 bash 脚本中,有不止一种检查子
字符
串的方法,我们今天介绍一些简单的例子,然后在分享一个常用的 bash 脚本。用通配符*号代理str1中非str2的部分,如果结果相等说明包含,反之不包含。
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章