LINUX SHELL如何递归访问目录(处理包含空格的文件名)

简介: LINUX SHELL如何递归访问目录(处理包含空格的文件名)

搜索了很多,都感觉太复杂。最后找到了一个简单办法。


 其中特别要注意两点:


文件名包含空格的列出处理。

使用包含空格的参数。

#!/bin/bash
function processFile()
{
    # 如果字串中有/,需要使用别的分隔符。DEST_TEXT中假设相同特性。
    if [[ "${SOURCE_TEXT}" == "*/*" ]]; then
        sed -i "s:${SOURCE_TEXT}:${DEST_TEXT}:g" "$1"
    else
        sed -i "s/${SOURCE_TEXT}/${DEST_TEXT}/g" "$1"
    fi
}
function processDir()
{
    cd "$1"
    # space to ?
    files=`ls | tr " " "\?"`
    for item in ${files}
    do
        if [ -d "${item}" ]; then
            processDir  "${item}"
        else
            processFile "${item}"
        fi
    done
    cd ..
}
SOURCE_TEXT=avcodec_alloc_frame
DEST_TEXT=av_frame_alloc
PROCESS_DIR=doubango/doubango/schemas
processDir ${PROCESS_DIR}

目录
相关文章
|
10天前
|
存储 缓存 Linux
Linux 根目录下的目录都是什么作用
【6月更文挑战第22天】Linux 根目录下的目录都是什么作用
145 56
|
10天前
|
Linux
Linux 目录 rc0.d 是干什么的
【6月更文挑战第22天】Linux 目录 rc0.d 是干什么的
147 55
|
10天前
|
Linux
【Linux 基础】文件与目录管理
文件和目录的基本概念以及常用命令
27 11
|
4天前
|
Web App开发 运维 监控
深入探索Linux命令pwdx:揭秘进程工作目录的秘密
`pwdx`命令在Linux中用于显示指定进程的工作目录,基于`/proc`文件系统获取实时信息。简单易用,如`pwdx 1234`显示PID为1234的进程目录。结合`ps`和`pgrep`等命令可扩展使用,如查看所有进程或特定进程(如Firefox)的目录。使用时注意权限、进程ID的有效性和与其他命令的配合。查阅`man pwdx`获取更多帮助。
|
7天前
|
监控 Linux BI
【linux服务器系统盘爆满】/www/server/total/logs/目录内容过多导致服务器系统盘爆满,/www/server/total/logs/ 里是什么内容?是否可以删除?
【linux服务器系统盘爆满】/www/server/total/logs/目录内容过多导致服务器系统盘爆满,/www/server/total/logs/ 里是什么内容?是否可以删除?
10 1
|
12天前
|
存储 安全 Unix
探索Linux中的`mkdir`命令:创建目录的艺术
`mkdir`命令在Linux中用于创建目录,是文件管理的关键工具。它可以递归创建目录(-p选项),设置新目录权限(-m选项)并显示详细信息(-v选项)。例如,`mkdir -p dir1/dir2/dir3`会创建多级目录,而`mkdir -m 700 secret`创建一个具有特定权限的目录。在处理项目数据时,常通过脚本批量创建目录,如创建多个年份销售数据的子目录。使用时注意检查目录是否存在,设置适当权限,并避免在根目录下操作。查阅`man mkdir`获取更多帮助。
|
14天前
|
Linux 数据处理 数据安全/隐私保护
探索Linux命令lchfn:更改文件或目录的硬链接数
在Linux中,`ln`命令用于创建硬链接,而非`lchfn`。硬链接指向文件的inode,多条目共享相同数据。了解硬链接有助于理解文件系统行为。使用`ln 源文件 目标链接名`创建硬链接,`ls -li`查看硬链接数。直接修改硬链接数风险高,应谨慎操作,区别硬链接和软链接,确保数据安全,并常查阅`man ln`。
|
9月前
|
Unix Shell Linux
|
2月前
|
Shell Linux C语言
Linux中执行Shell的函数(popen,system,exec)介绍:分享一些常用的执行Shell的函数及其相关编程技巧和经验
Linux中执行Shell的函数(popen,system,exec)介绍:分享一些常用的执行Shell的函数及其相关编程技巧和经验
67 0