linux 脚本 获取以某字符结尾的文件名

本文介绍了一段Bash脚本,该脚本能够获取系统当前时间并将其用于重命名指定文件夹下的.csv文件。脚本首先获取系统前一小时的时间,并以此时间戳生成新的文件名。然后,它会检查文件夹下最新的.csv文件是否已使用此命名,若未使用则进行重命名。

以系统当前时间为文件名

获取当前文件夹下以“csv”结尾的文件名

如果相同,则继续

如不同,则将文件夹下的文件mv为系统命名的文件名

#!/bin/bash
//获取系统前一小时的时间
currentime=`date -d -1hour +%Y%m%d_%H`
echo $currentime
filename=${currentime}".csv"
echo $filename
//获取文件中最新的文件名称
newfil=`ls -lt ./ | grep csv$ | head -n 1|awk '{print $9}'`
echo $newfil
if [ "$filename" = "$newfil" ] ; then
 echo "xiangtogn"
else
 `mv $newfil $filename`
 echo "npo"
fi

 

### 查找脚本文件中特定字符串的方法 在 Linux 系统中,可以使用 `grep` 命令来查找脚本文件中是否包含特定字符串。以下是具体的使用方法和参数说明: #### 基础命令格式 ```bash grep [OPTIONS] "PATTERN" FILE_PATH ``` #### 示例:递归查找当前目录下的所有脚本文件并匹配特定字符串 如果需要递归地查找当前目录下的所有脚本文件(如 `.sh` 文件)并检查是否包含特定字符串,可以使用以下命令: ```bash grep -rn "特定字符串" *.sh ``` 上述命令会搜索当前目录下所有的 `.sh` 文件,并显示匹配的行号以及文件路径[^1]。 #### 参数详解 - `-r`:递归查找,进入子目录进行搜索。 - `-n`:显示匹配内容所在的行号。 - `-i`:忽略大小写差异,进行不区分大小写的匹配。 - `-w`:仅匹配整个单词,而不是部分字符串。 - `-l`:仅列出包含匹配字符串的文件名。 - `-L`:列出不包含匹配字符串的文件名。 #### 特殊字符匹配 - `^`:匹配行首的字符串。例如,`grep "^特定字符串" *.sh` 会匹配以“特定字符串”开头的行。 - `$`:匹配行尾的字符串。例如,`grep "特定字符串$" *.sh` 会匹配以“特定字符串”结尾的行。 - `\<` 和 `\>`:分别标注单词的开头和结尾。例如,`grep "\<特定字符串\>" *.sh` 会精确匹配“特定字符串”,而不匹配“前缀特定字符串后缀”。 #### 复杂场景示例 1. **匹配多个模式** 如果需要查找同时包含两个字符串的文件,可以分步进行过滤: ```bash grep "字符串1" *.sh | grep "字符串2" ``` 2. **排除特定文件或目录** 使用 `--exclude` 或 `--exclude-dir` 参数可以排除某些文件或目录: ```bash grep -rn "特定字符串" * --exclude=*.log --exclude-dir=logs ``` 3. **只列出包含匹配字符串的文件名** 如果只需要知道哪些文件包含该字符串,而不需要具体内容,可以使用 `-l` 参数: ```bash grep -rl "特定字符串" *.sh ``` 4. **忽略大小写** 如果希望匹配时不区分大小写,可以添加 `-i` 参数: ```bash grep -ri "特定字符串" *.sh ``` #### 注意事项 - 如果脚本文件分布在不同目录层级,建议结合 `-r` 参数进行递归查找。 - 在匹配时,确保目标字符串不包含特殊字符(如正则表达式中的元字符),否则可能需要使用转义字符。 ```bash # 示例:查找包含 "<tag>" 的脚本文件 grep -rn "\<tag\>" *.sh ``` ### 总结 通过 `grep` 命令及其丰富的参数选项,可以高效地在 Linux 环境中查找脚本文件中是否存在特定字符串。根据实际需求选择合适的参数组合即可完成任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值