`
venus585625
  • 浏览: 252869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux下除去文件的名称中的空格字符

 
阅读更多
文章摘要: 在Linux文件系统中,一般来说我们可以用以下方法来遍历某个目录下的文件。 for file in $(ls *); do echo ${file} done 但是,由于for语句是按照单词为单位(即空格)进行分割的,因此,当文件名称中有空格的时候,就会出现一个文件名被分成两个或者多个文件来读的情况。比如,当前目录下有下面几个文件: a.txt b.txt “c .txt” 上面的脚本执行的结果就变成 a.txt b.txt c .txt 了。 遇到这种情况怎么办?其实我们我可以用while语句

在Linux文件系统中,一般来说我们可以用以下方法来遍历某个目录下的文件。

for file in $(ls *); do

echo ${file}

done

但是,由于for语句是按照单词为单位(即空格)进行分割的,因此,当文件名称中有空格的时候,就会出现一个文件名被分成两个或者多个文件来读的情况。比如,当前目录下有下面几个文件:

a.txt b.txt “c .txt”


上面的脚本执行的结果就变成

a.txt

b.txt

c

.txt

了。

遇到这种情况怎么办?其实我们我可以用while语句加上read命令来轻松实现。

ls * | while read file; do

echo ${file}

done


即先把每个文件的名称读取到变量file中,然后再输出到屏幕上。

实现了遍历文件名带有空格的文件之后,我们所要做的就是修改文件名,除去文件名中的空格。用tr命令来实现。

echo ${old_file_name} | tr -d ‘ ‘


将该结果保存到变量new_file_name中,再用mv命令来重命名文件。

mv “${old_file_name}” ${new_file_name}


注:由于文件名中可能有空格,所以必须用引号将文件名引起来。

整个脚本如下:
ls * | while read file; do

old_file_name=${file}

new_file_name=`echo ${old_file_name} | tr -d ' '`

mv "${old_file_name}" "${new_file_name}"

done


完。
分享到:
评论

相关推荐

    linux 从配置文件中获取参数

    总结来说,从Linux配置文件中获取参数涉及读取文件、字符串解析和可能的错误处理。理解这些基本概念是每个Linux开发者必备的技能,无论你是进行系统管理还是开发应用程序。通过熟练掌握这些技术,你可以更好地控制和...

    LINUX二级文件系统.pdf

    在Linux操作系统中,文件系统是管理和组织存储设备上数据的核心组件。这个名为"LINUX二级文件系统.pdf"的文档似乎描述了一个模拟的、基于C语言的简单文件系统模型,用于教学或实验目的。以下是对该文件系统模型的...

    Linux系统中文件编辑器的使用

    ### Linux系统中文件编辑器的使用 #### Vi编辑器概览 Vi编辑器作为Linux操作系统中最常见的全屏编辑工具之一,几乎安装在每一台Linux机器上。Vi编辑器的名称来源于“visual interface”(可视界面),意味着用户...

    批量修改文件名称,扩展名称,文件属性

    在IT领域,尤其是在日常的文件管理和自动化操作中,批量修改文件名称、扩展名称以及文件属性是一项常见的需求。这有助于统一管理文件,便于搜索、归档和优化工作效率。本篇文章将详细探讨这些知识点。 批量修改文件...

    linux文件及系统管理

    ### Linux文件及系统管理 #### 文件与目录概览 在Linux操作系统中,文件与目录扮演着核心角色,它们是系统管理数据的主要手段。文件被定义为一系列无结构的字符流,意味着文件内部的任何两个字节之间不存在依赖...

    linux ld中文使用手册完全版.doc

    对于名称是单个字符的选项,选项参数必须紧跟在选项字母后面,中间不留空,或者也可留有一个空格。 8. ld 的多字符选项:对于名称是多个字符的选项,选项前可以有一个或两个破折号。多字符选项的参数必须跟选项名间...

    Linux下用bash命令执行名称中带有“(”符号的目录注意事项.docx

    在处理文件或目录名时,尤其是包含特殊字符如"("(左括号)或空格的情况,需要特别注意转义规则,以避免语法错误或意外的行为。本文将详细介绍如何在Bash中正确地处理这些特殊字符。 首先,让我们来看一下带"("符号...

    Linux下定时备份MySQL数据库的Shell脚本.pdf

    - **变量定义**:Linux下的Shell脚本定义变量时,变量名与等号之间不能有空格。 - **特殊字符**:脚本中某些特殊字符(如反引号`)需特别注意,避免误用其他符号导致错误。 - **适用场景**:该脚本适用于小型站点的...

    Linux下Oracle备份与恢复

    本知识点将详细探讨如何在Linux下利用shell脚本和Oracle提供的工具进行数据库的备份与恢复,并解决在此过程中可能遇到的问题。 首先,在Linux系统中配置Oracle环境变量是进行备份与恢复的基础步骤。在用户主目录下...

    linux教程——很使用的那种

    linux中的文件(普通文件或设备文件等)都必须有挂在点,只有挂载到一个目录下才能访问,swap分区是不需要挂载点的,在分区的时候,将文件系统类型选为swap,挂载点自动会变为灰色。一般linux中的swap大小为内存的两倍。...

    cad计算字符工具

    1. **字符计数**:能够快速扫描整个CAD文件,统计其中的总字符数,包括空格和特殊字符,这对于文档审计和规范性检查非常有用。 2. **搜索与定位**:除了简单的计数,这些工具还支持搜索特定的字符或词组,便于用户...

    linux命令之目录监控 字符串拆分 监控命令运行结果 统计行数 去除文本头尾空格 获取网卡名浮点数运算等命令使用技巧

    - **`-q`**: 安静模式,只输出文件名称。 - **`--format '%f'`**: 设置输出格式,仅显示文件名。 - **`-e create`**: 监听创建事件。 - **`$MON_DIR`**: 指定需要监控的目录。 - **`>> test.log`**: 将文件名追加到...

    新手要了解Linux的十个特点

    在Linux文件中,以`#`开始的行被视为注释。在编辑文件时,如果想要保留原始内容但又不想让它生效,可以通过在行前加`#`来实现注释。这在调试代码或暂时禁用某些配置时非常有用。 #### 七、用户主目录 每个用户都有...

    Linux常用命令.pdf

    * -name:按文件名称查找。 * -user:按文件属主查找。 * -type:按文件类型查找。 * -size:按文件大小查找。 例如,在 /etc 目录下查找文件名包含 eth0 的文件:find /etc -name "*eth0*" 10. 查看文件或输出...

    特殊字符Unicode

    至于`spac.txt`这个文件,很可能是一个包含空格字符的文本文件,用于测试Unicode编码或解码,或者可能是用来展示如何在不同环境下正确处理特殊字符的一个示例。在分析这样的文件时,我们可以使用各种命令行工具(如...

    shell脚本修改json中某个字段的值

    在IT行业中,shell脚本是Linux/Unix系统中进行自动化任务处理的一种强大工具。当我们需要对JSON文件中的特定字段进行修改时,shell脚本结合awk和sed命令可以提供灵活且高效的解决方案。以下将详细介绍如何使用这些...

    转义字符

    在压缩包文件的文件名称列表中,尽管没有提供具体信息,但我们可以假设可能有一些文件名包含了特殊字符,比如空格、引号或其他需要转义的字符。在处理这样的文件时,尤其是在命令行界面中,可能需要使用转义字符来...

    linux 文件查找

    在 Linux 系统中,文件管理是一项基本且重要的任务。其中,`find` 命令作为文件查找工具中的佼佼者,被广泛应用于各种场景中。本篇文章将深入探讨 `find` 命令的基本用法、常用选项以及实际应用案例。 #### 一、`...

Global site tag (gtag.js) - Google Analytics