首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SHELL技巧:处理文件名中的那些空格

但是这种命名方式给Linux命令行工具和Shell带来了困扰,因为大多数命令中,都是默认以空格做为值与值之间的分隔符,而不是做为文件名的一部分。 看下面的脚本,我们可以了解的更清楚: ?...执行的结果如下: ? 实际上,当前目录的文件只有两个: ? 对于简单的文件名,如上例中,我们也可以通过 for i in *doc 这样简单的方法来获得文件列表。...有一个办法,通过 for i in "* *" 可以获得文件名的列表,但是一个很糟糕的列表,因为这个结果是一个两个文件名在一起的列表,我们完全无法拿来做后续的操作,如下图所示。 ?...通过 "*\ *" 这样的技巧可以避免上面所说的问题,但是在应用mv或其他操作时,还是会出现问题。 ? 上面的问题,可以通过将变量放入引号中("$i")解决,通常情况下,引号中的空格可以被正确的处理。...The default value is “”. 15215809-cb61f85865b24ba4b1bb381b12363eb6.png 另外一个办法就是在对文件名进行处理之前

1.8K10

linux中操作带有空格和特殊字符的文件名

>touch %12.txt 文件名中的星号* 文件名中包含星号不会改变任何内容,您可以继续将其用作普通文件。...>touch .12.txt 注意:在 Linux 中,您可以(.)在文件名中包含任意数量的点。与文件名中的其他系统点不同,并不意味着将名称和扩展名分开。...1.2.3.4.5.6.7.8.9.10.txt 文件名中的逗号 ,您可以在文件名中包含逗号,数量不限,不需要任何额外的内容。...只需按照正常方式进行,就像简单的文件名一样。 >touch :12.txt or >touch :12:.txt 文件名中包含引号(单引号和双引号)要在文件名中包含引号,我们必须使用交换规则。...您可以在任何位置拥有一个名称包含波浪号的文件,如下所示: >touch ~1a.txt or $touch 2b~.txt 文件名中的空格 创建一个名称在字符 / 单词之间有空格的文件,说 “嗨,我的名字是

7.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    可执行文件名中包含 install 或 setup

    问题描述 在 Windows Vista+ 系统下,若 EXE 文件名中包含有「install」、「update」或「setup」等字样,可能出现如下问题: 每次软件运行完退出后会弹出「程序兼容性助手」...完全相同的两个 EXE 文件,名字不一样: 问题分析 简而言之,上述现象发生的原因是 Windows Vista+ 系统的「安装程序检测」机制认为文件名中包含「install」、「update」或「setup...」等字样,且没有在 Manifest 文件中显式指定 requestedExecutionLevel 的 32 位可执行程序是安装包,会主动为安装包弹出 UAC 提权申请,而「程序兼容性助手」会监控安装包的执行情况...PPT 介绍了「安装程序检测」和它可能产生的误判,以及解决的办法,给出的方案是内嵌 Manifest 或者外置一个名为「MyApp.exe.manifest」的文件: Installer Detection...二、为可执行文件添加类似如下的 Manifest 文件,指定程序兼容 Win7 与 Vista(或更高版本的当前系统)。 <?

    72910

    可执行文件名中包含 install 或 setup

    问题描述 在 Windows Vista+ 系统下,若 EXE 文件名中包含有「install」、「update」或「setup」等字样,可能出现如下问题: 每次软件运行完退出后会弹出「程序兼容性助手...你的程序没打算要求管理员权限的,但是运行的时候却弹 UAC 了。 完全相同的两个 EXE 文件,名字不一样: ?...问题分析 简而言之,上述现象发生的原因是 Windows Vista+ 系统的「安装程序检测」机制认为文件名中包含「install」、「update」或「setup」等字样,且没有在 Manifest...文件中显式指定 requestedExecutionLevel 的 32 位可执行程序是安装包,会主动为安装包弹出 UAC 提权申请,而「程序兼容性助手」会监控安装包的执行情况,如果它没有在「添加或删除程序...二、为可执行文件添加类似如下的 Manifest 文件,指定程序兼容 Win7 与 Vista(或更高版本的当前系统)。 <?

    61510

    MySQL列名中包含斜杠或者空格的处理方法

    今天客户那边遇到了一个比较奇葩的问题跑来问我,这个问题比较冷门,所以特别记录下。 问题描述 数据库的字段存在斜杠或者空格的时候,怎么用sql进行insert或者select操作。...问题解答 对于这种特殊字符,我们一般想到的是用转义符进行处理,所以试了下"/"、引号、单引号等常见的转义符,发现依然语法错误,又查了下MySQL的官方说明: 特殊字符位于列名中时必须进行转义,如果列名中包含...以中括号的形式进行转义,然后又试了下中括号,发现依然还是不行。 通过搜索,最后找到需要以反引号“`”(一般键盘的左上角数字1左边的那个键)来处理。...ls .c会生成具有.c扩展名的所有文件列表。这个文件列表随后被赋予变量listc。...引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select='字段值' 不加反引号建的表不能包含MYSQL保留字,否则出错 反引号`,数字1左边的符号  保留字不能用于表名,比如desc

    4K20

    find和xargs命令组合使用处理带空格文件名的文件

    当用find命令查找文件然后用xargs来批量处理文件时,当文件名中包含空格字符时,就会导致处理失败,因为xargs会认为空格前后分别是两个不同的文件。...如下图: 我们查看find命令帮助文档可以发现,它有一个专门针对该情况并配合xargs命令的参数:-print0 -print0 True; print the full...与find默认的-print参数相比,它输出的序列不是以空格分隔,而是以null字符分隔。而xargs也有一个参数-0,可以接受以null而非空格间隔的输入流。...所以,假如我们要找到当前目录下所有文件名以1).jpg结尾的文件并将它们全部删除掉时,就可以像下面这样操作: find ....-name "*1).jpg" -print0 | xargs -0 rm -f

    27910

    C# 不能用于文件名的字符

    在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符 ? 那么具体是包括哪些符号不能作为文件名?...Slash (/) Plus sign (+) Pipe (|) Quotation mark (") 上面这些字符不能用来文件名和文件夹名 而且在 windows 的要求,文件是需要有文件名的,虽然你也可以创建....file这样的文件,但是用户是难以自己输入这样的文件名。...之外还有一些文件名是保留,不能创建这样的文件名 CON, PRN, AUX, CLOCK$, NUL COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    82120

    C# 不能用于文件名的字符

    在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符 那么具体是包括哪些符号不能作为文件名?...Slash (/) Plus sign (+) Pipe (|) Quotation mark (") 上面这些字符不能用来文件名和文件夹名 而且在 windows 的要求,文件是需要有文件名的,虽然你也可以创建....file这样的文件,但是用户是难以自己输入这样的文件名。...之外还有一些文件名是保留,不能创建这样的文件名 CON, PRN, AUX, CLOCK$, NUL COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8...尝试新建一个文本,然后把他文件名命名为上面的任意一个,基本windows会说不能把文件命名 那么是不是把这些字符串拿出来判断?

    42620

    VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件

    使用 Visual Studio Code 写 C++ 程序最烦心的是大概就是使用 Code Runner 插件无法编译运行文件名带空格的文件了,这个问题困扰了我好久,虽然不影响学习,但太多分隔符总觉得不顺眼...No such file or directory 意思是没有这样的文件或目录,fatal error: no input files 的意思是致命错误:没有输入文件,然后就编译已终止了。...根据报错,我们发现 C++ 编译器是把 hello world.cpp 当成了 hello 和 world.cpp 两个文件,我的第一反应就是文件名带空格,要加上双引号。...之后,找到 Executor Map,点击在 setting.json 中编辑。...我又在 CMD 中测试了一下,是能编译通过并运行程序的,问题立马锁定在了 Powershell 上,我想,一定是 CMD 和 Powershell 运行程序的代码不同,所以才会出故障。

    1.6K30

    【s3cmd】文件名一个空格带来的烦恼

    正常使用的 Ceph RGW,还有正常使用的 s3cmd,突然今天碰到一个用户反馈说,在使用 s3cmd get 时候出现大量的404,也就是下载对象 Object 的时候发现对象不存在。...这个问题很有意思,之前都没有遇到过,于是看了一下用户的文件,发现了一些端倪。 image.png 划红线的文件名,居然带空格...Fine,既然是用户能上传上来的,那么我们就应该可以让用户下载了。...可以判断到的是因为文件名带空格,所以在 get 的时候我才 s3cmd 没有处理这部分的内容,所以自动截断了,因为截断之后的对象肯定是不存在的,于是就报404了。...image.png 研究了一下,发现我们提供的默认的 s3cmd 的版本是1.6的,其实这个版本比较低了,而且经常有问题,所以测试了一下2.1的版本,已经修复了这个问题了,于是这个问题就顺利解决了。

    95630

    更新博客生成发布及同步GitHub的Shell脚本:解决文件名空格问题

    前面一篇文章通过Linux Shell脚本的方式,实现博客生成发布及同步GitHub的的功能:先同步GitHub个人仓库中的Markdown文章到本地,然后通过Pelican编译生成静态HTML文件,最后发布到...由于没仔细考虑到Markdown文件名中可能包含空格的问题,所以在Shell脚本的文件名遍历时(代码第108行)出现了BUG:Linux Shell默认把空格空格做为值与值之间的分隔符,所以原本一个带空格的文件名就被拆分成了几个文件名...1 解决方法 网上查找相关资料后,有两种主要的实现方法:Method 1是通过修改IFS(Internal Field Seperator: Linuxshell中预设的分隔符,用来把command line...Method 2是直接在使用find命令遍历文件时,把结果作为while read的输入,这样就可以避免空格作为文件名的分隔符了。...-mmin -${TIME_GAP} -type f -name "*.md"` #### Method 2: use the while recycle. ${FINDCMD} .

    11410

    AI办公自动化:用kimi批量删除文件名末尾的空格

    工作任务:文件名末尾有一个空格,要批量删除掉,然后重命名 在Kimi中输入提示词: 你是一个Python编程专家,要完成一个脚本编写的任务,具体步骤如下: 读取"F:\aivideo"文件夹里面的全部html...文件; 去掉html文件的主文件名末尾的空格;重命名;;比如:成为提问工程师 .html,重命名为:成为提问工程师.html 运行没有成功,让Kimi自己找错误之处: 还是没有去掉,一步步仔细思考,可能错在哪里...kimi修正的代码: import os # 设置文件夹路径 folder_path = r"F:\aivideo" # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path...): # 检查文件扩展名是否为html if filename.lower().endswith(".html"): # 去除文件名末尾的空格(包括文件名和扩展名) file_name_without_spaces...}") else: print(f"文件名没有变化: {old_file_path}")

    8810

    Python读取文件夹中的所有Excel文件名

    【知识点一】 Python os.walk() 方法 概述 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。...os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。...root 所指的是当前正在遍历的这个文件夹的本身的地址 dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录) files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录...如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。 onerror -- 可选,需要一个callable 对象,当 walk 需要异常时,会调用。...os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。它不包括 '.' 和'..' 即使它在文件夹中。

    6.8K10
    领券