shell 如何判断某个文件名以某个字符开头~

2024-06-02 17:58

本文主要是介绍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 is  chinese ${var:0:2}
else
echo sub is english ${var:0:2}
fi
#function :判断
ISCN()
{
if [[ ${var:0:2} -eq "cn" ]]
then
  echo "in ISCN"
  isCN=true
fi
}

#执行function
ISCN

echo the last isCN $isCN
=================================================================
一,shell取子串常用:
1)

echo ${string:1:2}

2)echo $string |cut -c 2-3 (取string 的第2到第3个字符)


二,对字符串的处理

包括:截取,连接,匹配,替换,翻转... ... 
字符串的处理:
1,截取
方法一:
echo $a|awk '{print substr( ,1,8)}'
substr是awk中的一个子函数,对第一个参数的进行截取,从第一个字符开始,共截取8个字符,如果不够就从第二个字符中补
方法二
echo $a|cut -b2-8
cut:对标准输入的字符串进行处理
cut -bn-m:以byte为单位,从第n个byte开始,取m个
cut -bn,m:以byte为单位,截取第n,m个byte
cut -b-n,m:以byte为单位,截取1-n,和第m个
-c:以charactor为单位
-d:指定分隔符,默认为tab
-s:使标准输入中没有delimeter
cut -f1:截取第1个域 
方法三
a=123456
echo ${string:1:2}
方法四
使用sed截取字符串的最后两位
echo $test |sed 's//(.*/)/(../)$//'
截取字符串的前2位
echo $test |sed 's/^/(../)/(.*/)//'
欢迎访问007电脑资讯
2,比较
好像没有什么可以比较的
3,连接
$a$b
或者
$string 
4,翻转
方法一
使用rev命令
方法二
编写脚本实现
#!/usr/bin/awk -f
################################################################
# Description : duplicate rev in awk
################################################################
{
revline = ""
for (i=1;i<=length;i++)
{
revline = substr(,i,1) revline
}
}
END{print revline}

5,匹配
grep
egrep
fgrep
6,排序
7,替换
bash中:
%x=abcdabcd 
%echo $ # 只替换一个 
bbcdabcd 
%echo $ # 替换所有 
bbcdbbcd 
sh中:
??
如何替换/
使用sed
替换所有匹配
echo $test |sed 's/xx/yy'
替换单个匹配
??
8,得到字符串的长度:
bash当中
$
或者
expr "$VAR" : '.*'
9,判断字符串是否为数字 
10,得到字符串中某个字符的重复次数
echo $a |tr "x" "/n" |wc -l
得到的结果需要减去1
或者 echo $a |awk -F"x" '{print NF-1}' 
11,得到字符串中某个string的重复次数 007电脑资讯 
12,将一批文件中的所有string替换
for i in file_list 
do 
vi $i <<-! 
:g/xxxx/s//XXXX/g 
:wq 

done
13,如何将字符串内每两个字符中间插入一个字符
使用sed
echo $test |sed 's/../&[insert char]/g'

这篇关于shell 如何判断某个文件名以某个字符开头~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024686

相关文章

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

shell中set -u、set -x、set -e的使用

《shell中set-u、set-x、set-e的使用》本文主要介绍了shell中set-u、set-x、set-e的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录✅ 1. set -u:防止使用未定义变量 作用: 示例:❌ 报错示例输出:✅ 推荐使用场景:✅ 2. se

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

C#如何去掉文件夹或文件名非法字符

《C#如何去掉文件夹或文件名非法字符》:本文主要介绍C#如何去掉文件夹或文件名非法字符的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#去掉文件夹或文件名非法字符net类库提供了非法字符的数组这里还有个小窍门总结C#去掉文件夹或文件名非法字符实现有输入字

Python如何判断字符串中是否包含特殊字符并替换

《Python如何判断字符串中是否包含特殊字符并替换》这篇文章主要为大家详细介绍了如何使用Python实现判断字符串中是否包含特殊字符并使用空字符串替换掉,文中的示例代码讲解详细,感兴趣的小伙伴可以了... 目录python判断字符串中是否包含特殊字符方法一:使用正则表达式方法二:手动检查特定字符Pytho

Linux实现简易版Shell的代码详解

《Linux实现简易版Shell的代码详解》本篇文章,我们将一起踏上一段有趣的旅程,仿照CentOS–Bash的工作流程,实现一个功能虽然简单,但足以让你深刻理解Shell工作原理的迷你Sh... 目录一、程序流程分析二、代码实现1. 打印命令行提示符2. 获取用户输入的命令行3. 命令行解析4. 执行命令

Java如何根据文件名前缀自动分组图片文件

《Java如何根据文件名前缀自动分组图片文件》一大堆文件(比如图片)堆在一个目录下,它们的命名规则遵循一定的格式,混在一起很难管理,所以本文小编就和大家介绍一下如何使用Java根据文件名前缀自动分组图... 目录需求背景分析思路实现代码输出结果知识扩展需求一大堆文件(比如图片)堆在一个目录下,它们的命名规