`
lydawen
  • 浏览: 473417 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

shell 判断某扩展名文件是否存在

F# 
阅读更多

因为需求需要处理大量log文件,考虑到awk的高效,但处理前需要判断文件是否存在,因.log文件有多个,所以用if判断。

 

if [ -e *.log ]; then

 

此时如果文件不存在,则不报错误。但如果有多个.log文件存在,则报错

 

if[  too many arguments 事实上因为-e 或者 -f 都只能接受一个参数,用了通配符后会有多个文件存在的可能就导致多个参数出现的可能,所以报错。

 

经过多次测试也找了些资料,发现以下解决方法:

 

files=$(ls *.log 2> /dev/null | wc -l)

if [ "$files" != "0" ] ;

then

 

即可达到目的。

分享到:
评论
1 楼 IamNull 2010-01-16  
感谢。。用这个办法,我解决了一个小问题

类似你这个代码。。
同时可以用

for file in $files ; do
    echo "${file}"
    # 你的应用代码
done

列遍历所有的文件。。呵呵

相关推荐

    shell脚本实现本地文件与服务器文件同步

    接下来,我们将进一步扩展功能,通过Shell脚本实现本地服务器上的文件备份至远程服务器的功能。 **步骤**: 1. **新建脚本文件**: - 创建一个新的脚本文件`backup.sh`。 - 写入以下脚本内容: ```bash #!/bin/...

    VC_制作打开自已扩展名文件的程序 制作自己扩展名的文件并且对应打开某个程序.zip

    在VC++环境中,创建一个能够处理特定扩展名文件的程序是一项常见的任务,这涉及到操作系统的文件关联设置和程序逻辑的设计。在这个"VC_制作打开自已扩展名文件的程序 制作自己扩展名的文件并且对应打开某个程序.zip...

    用shell脚本监控进程是否存在 不存在则启动的实例

    - **文件是否存在**:`[-f "somefile"]` 判断是否是一个文件。 - **文件是否可执行**:`[-x "/bin/ls"]` 判断 `/bin/ls` 是否存在且具有可执行权限。 - **变量是否有值**:`[-n "$var"]` 判断 `$var` 变量是否有值。...

    给windows鼠标右键添加 显示扩展名 隐藏扩展名 菜单项,一键显示隐藏文件扩展名.zip

    如果批处理脚本不能满足某些用户需求,他们可以使用这个VBS脚本来自定义更精细的设置,例如,添加条件判断,根据当前状态决定是否显示或隐藏扩展名。 最后,`startup.vbs`可能是用来在启动时运行上述脚本的文件,...

    用Shell编程实现DOS风格Linux命令行

    例如,检查文件是否存在可以用`-f`操作符,如下: ```bash #!/bin/bash if [ -f "filename" ]; then echo "File exists." else echo "File does not exist." fi ``` 这里,如果`filename`存在,脚本会输出“File...

    详解shell 遍历文件夹内所有文件并打印绝对路径

    ### 详解Shell脚本遍历文件夹内所有文件并打印绝对路径 #### 一、引言 在Linux或Unix环境中,Shell脚本是一种强大的工具,能够帮助用户执行一系列任务,如文件管理、进程控制等。其中,遍历文件夹内的所有文件并...

    用Shell扩展实现源代码统计程序_调用IShellExtInit 接口初始化菜单_接口IContexMenu处理右键菜单_BEGIN_COM_MAP

    源代码统计程序的实现通常涉及读取文件内容,识别不同的编程语言(通过文件扩展名或开头的特定字符),并计算代码行。对于每种语言,可能需要不同的解析规则,例如忽略注释和空行。统计完成后,结果可以以对话框、...

    如何使你的程序同文件扩展名建立关联?...

    ### 如何使你的程序同文件扩展名建立关联 在计算机编程领域中,让应用程序与特定的文件扩展名关联起来是一项非常实用的功能。这种关联能够使得用户通过双击带有该扩展名的文件直接启动相应的应用程序。本文将基于...

    DEDECMS5.7后台getshell1

    在uploadsafe.inc.php文件中,有一个函数用于检查上传文件的扩展名,但是该函数存在一些缺陷。首先,该函数使用preg_match函数来检查文件扩展名,但是该函数没有正确地处理特殊字符的情况。例如,当文件名中包含特殊...

    Shell获取文件的文件名和扩展名的例子

    basename example.tar.gz .tar.gz # => example FILE=example.tar.gz echo ${FILE%%.*} # => example echo ${FILE%.*} # => example.tar echo ${FILE#*.} # => tar.gz echo ${FILE##*.} ...# 在bash中可以这么写 ...

    shell中字符串处理方

    为了更好地理解这些技术的实际应用,我们可以编写一个简单的Shell脚本来判断一个文件是否为tar文件。假设我们有以下脚本: ```bash #!/bin/bash # 接受一个文件名作为参数 filename="$1" # 使用变量扩展从文件名...

    查找目录下同名但不同后缀名文件的shell脚本代码

    这个shell脚本的主要目的是在指定的目录及其所有子目录中查找具有相同名称但不同后缀的文件。以下是对脚本内容的详细解释: 1. **脚本参数检查**: 脚本接受一个参数,即要搜索的目录。如果未提供参数或者参数数量...

    根据附件的后缀名来显示相应的图标

    标题“根据附件的后缀名来显示相应的图标”涉及到的是计算机操作系统中的一种常见功能,即根据文件的扩展名(后缀名)来显示相应的图标。这个功能在Windows、macOS等操作系统中尤为常见,它有助于用户快速识别不同...

    Shell编程指南

    - 创建一个文本文件,以.sh作为文件扩展名。 - 使用vi、nano或任何文本编辑器输入Shell命令。 - 保存文件后,通过Shell解释器执行。例如,使用bash或sh命令执行脚本:`bash script.sh` 或 `sh script.sh`。 2. *...

    shell编程.pdf

    2. **文件名一致性**: 脚本中使用了两种不同类型的文件扩展名(`.log` 和 `.logs`),可能导致部分文件未被处理。 针对这些问题,可以通过添加适当的错误处理机制来改进脚本,例如使用 `if` 语句来检查命令的退出...

    Learning the bash Shell

    条件表达式用于判断,如文件是否存在或数值比较,这在编写条件语句时至关重要。循环结构如`for`和`while`循环,使我们能反复执行代码块,而函数则允许我们将代码组织成可复用的单元。 Bash shell还支持shell扩展,...

    shell编程 创建shell脚本 shell 基础语法 shell流程控制语法 shell函数

    创建 Shell 脚本非常简单,只需要使用文本编辑器(如 vi/vim)创建一个新的文件,并以 `.sh` 作为扩展名。例如,创建一个名为 `firstSH.sh` 的文件,然后在文件中添加如下内容: ```bash #!/bin/sh ls ``` 第一行 `#...

    shell编程基础.pdf

    上述命令将在当前目录及其子目录中查找扩展名为 `.txt` 的文件,并在这些文件中搜索包含 "example" 关键字的内容。 #### 五、进阶话题 - **函数**:定义和调用自定义函数以提高代码复用性。 - **数组**:使用数组...

    shell100.7z

    4. **条件判断**:如if...else...fi结构,test命令或[]用于进行各种条件测试,例如文件是否存在、文件类型、字符串比较等。 5. **循环结构**:while、for循环,以及until循环,用于重复执行某些命令。 6. **函数**...

    找出文件中包含指定字段的文件的shell脚本

    这个脚本的目的是在根目录`/`下查找所有以`.php`为扩展名的文件,并将它们的路径写入一个名为`list.txt`的文件。然后,脚本逐行读取`list.txt`中的文件路径,并使用`egrep`命令检查每个文件是否包含指定的字段(在这...

Global site tag (gtag.js) - Google Analytics