Linux:使用for+find查找文件并cp到其他目录,文件名带有空格

news2024/11/24 14:32:48

一、场景描述

在终端窗口中,用shell命令,批量拷贝文件到指定目录。
我是在Windows系统上,通过git bash终端来执行shell命令的。

二、实现过程

命令1

for filepath in `find /d/LearningMaterials/数学/数学/高中/一数/偏基础(基础+中档版)/基础篇2.0电子版/ -name *无答案*`; do cp $filepath /c/Users/admin/Desktop/高中数学/基础版; done

结果:
在这里插入图片描述
于是把find命令单独拿出来执行:

find /d/LearningMaterials/数学/数学/高中/一数/偏基础(基础+中档版)/基础篇2.0电子版/ -name *无答案*

结果:
在这里插入图片描述
发现文件路径和文件名存在空格。

查找解决办法
复制时,如何处理带空格的文件路径或文件名。
解决办法:
使用单引号(”)或双引号(””)包裹文件名字。
在这里插入图片描述

命令2

for filepath in `find /d/LearningMaterials/数学/数学/高中/一数/偏基础(基础+中档版)/基础篇2.0电子版/ -name *无答案*`; do echo "\"$filepath\"" /c/Users/admin/Desktop/高中数学/基础版; done

结果:
在这里插入图片描述
发现,文件路径还是被分割了。
这时候,我感觉,是在for循环读取find结果集时,就已经切割了。
但是,find命令查询的结果是正常的,没有切割。

继续查找解决办法
更改shell分隔符即可
在这里插入图片描述
上图代码:

只需要更改 shell分隔符即可
在for循环之前修改IFS变量,示例:
OLDIFS="$IFS"  #备份旧的IFS变量
IFS=$'\n'   #修改分隔符为换行符

for i in `cat aaa`  #aaa文件中存放着公钥
do
echo "$i"
done
IFS="$OLDIFS"  #还原IFS变量

于是,成功解决问题。

三、最终实现

admin@DESKTOP-0DH3J68 MINGW64 /d/LearningMaterials/数学/数学/高中/一数/偏基础(基础+中档版)/基础篇2.0电子版
$ OLDIFS="$IFS"

admin@DESKTOP-0DH3J68 MINGW64 /d/LearningMaterials/数学/数学/高中/一数/偏基础(基础+中档版)/基础篇2.0电子版
$ IFS=$'\n'

admin@DESKTOP-0DH3J68 MINGW64 /d/LearningMaterials/数学/数学/高中/一数/偏基础(基础+中档版)/基础篇2.0电子版
$ for filepath in `find /d/LearningMaterials/数学/数学/高中/一数/偏基础(基础+中档版)/基础篇2.0电子版/ -name *无答案*`; do cp "$filepath" /c/Users/admin/Desktop/高中数学/基础版; done

在这里插入图片描述
所以,命令1的问题的本质在于shell分隔符是空格导致的。而不是文件名中带有空格导致的问题。因为,find的结果是正常的。但是,经过for循环之后,出了问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400599.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Zabbix分布式监控系统概述、部署、自定义监控项、邮件告警

目录 前言 (一)业务架构 (二)运维架构 一、Zabbix分布式监控平台 (一)Zabbix概述 (二)Zabbix监控原理 (三)Zabbix 6.0 新特性 1. Zabbix server高可用…

用BEVformer来卷自动驾驶-4

书接前文 前文链接:用BEVformer来卷自动驾驶-3 (qq.com) 上文书介绍了BEVformer是个啥,以及怎么实现Deformable-attention 我们继续 BEVformer的输入数据格式: 输入张量(batachsize,queue,cam,…

工厂设计模式看这一篇就够了

本文将重点介绍几种工厂设计模式:简单工厂、工厂方法模式、抽象工厂模式和建造者模式。这几种设计模式在生产制造的流程下层层递进,可以满足不同的使用场景。在实际运用时,没有一个万能的工厂模式可以套用,要结合具体业务场景选择…

【华为GAUSS数据库】IDEA连接GAUSS数据库方法

背景:数据库为华为gauss for opengauss 集中式数据库 IDEA提供了丰富的各类型数据库驱动,但暂未提供Gauss数据库。可以通过以下方法进行连接。 连接后, 可以自动检查xml文件中的sql语句是否准确,表名和字段名是否正确还可以直接在…

基于 IoT 物联网 + 5G 技术搭建 100万台电梯智能化运维平台

随着近20年我国房地产的蓬勃发展,电梯已经成为人们现代生活中不可或缺的一部分,也是城市化建设中重要的建筑设备之一。据中国电梯行业协会统计,截至2022年底,我国电梯保有量为990万台,电梯运营健康度,减少事…

Pyro —— Sparse vs dense simulations

目录 Simulation area Sparse solving Understanding resizing Simulation area 在模拟的期间,pyro场都在当前容器内定义;开始非常小,随模拟的进行,解算器会不断的对其扩展或收缩;为重置流体框,解算器会…

Android 基础技术——addView 流程

笔者希望做一个系列,整理 Android 基础技术,本章是关于 addView 在了解 addView 流程之前,先回答下以下几个问题: PhoneWindow是什么时候创建的? DectorView 是什么? DectorView 是什么时候创建的&#xf…

conda国内加速

1、配置国内源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 2、显示源地址 conda config --set show_channel_urls yes

外呼机器人有什么优势?

外呼机器人有什么优势?值得受到大多数电销企业的追捧! 1、电话外呼效率高: 每天可拨打的电话数量是人工的5-10倍,人工一天只能拨打200-300通电话,机器人每天能打3000通电话以上,无须休息,按照…

PWM之舵机

舵机又称直流电机,如下图 本节承接上节,具体的PWM技术已经在上一节讲的很详细了,本节就不再讲了,那么我们的重点就放在直流电机的工作原理上了。 一、工作原理 我们研究直流电机,主要式研究直流电机旋转速度的调节&a…

linux LPT和COM回路测试(基于python+Qt+C++)

软件UI: 回路治具&#xff08;COMLPT&#xff09;&#xff1a; lpt_test.cpp&#xff08;c 源代码&#xff09;&#xff1a; #include <iostream> #include <fstream> #include <sstream> #include <unistd.h> #include <fcntl.h> #include <…

什么是游戏盾?哪家效果好。

游戏盾是什么呢&#xff0c;很多做游戏开发的客户估计都是听说过的&#xff0c;但是也不是所有的游戏开发者会运用到。因为&#xff0c;游戏盾是针对游戏行业APP业务所推出的高度可定制的网络安全管理解决方案&#xff0c;除了能针对大型DDoS攻击(T级别)进行有效防御外&#xf…

Python(18)--文件输入/输出 Ⅱ

​ 大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 前言 前一篇文章&#xff08;python(17)–文件的输入/输出-CSDN博客&#xff09;介绍了如何操作文本文件和二进制文件&#xff0c;以及对应…

设计亚马逊按销售排名功能

1&#xff1a; 定义 Use Cases 和 约束 Use cases 作用域内的Use Case Service 通过目录计算过去一周内最受欢迎的产品User 通过目录去View过去周内最受欢迎的产品Service 有高可用 作用域外 整个电商网站 设计组件&#xff08;只是计算销售排名&#xff09; 约束和假设…

【Python】模块

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

C++ :命名空间域

目录 冲突与命名&#xff1a; 举个例子&#xff1a; 全局与局部&#xff1a; 域作用限定符&#xff1a; 命名空间域&#xff1a; 冲突与命名&#xff1a; 在C语言中&#xff0c;我们通常会使用stdlib.h 而stdlib.h 本质上是一个函数的库&#xff0c;在程序中使用的大多数…

django邮件通知功能-

需求&#xff1a; 1&#xff1a;下单人员下订单时需要向组长和投流手发送邮件通知 2&#xff1a;为何使用邮件通知功能&#xff1f;因为没钱去开通短信通知功能 设计 1&#xff1a;给用户信息表添加2个字段 第一个字段为&#xff1a;是否开通邮件通知的布尔值 第二个字段为: 用…

Python 折线图的绘制(Seaborn篇-04)

Python 折线图的绘制(Seaborn篇-04)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

详解Redisson

第1章&#xff1a;Redisson简介 大家好&#xff0c;我是小黑&#xff0c;咱们今天来聊聊Redisson&#xff0c;Redisson不只是简单地对Redis进行了封装&#xff0c;它还提供了一系列高级的分布式Java数据结构&#xff0c;像是分布式锁、原子长整型这种。 首先&#xff0c;Redi…

React 初次接触

背景 还是为了完善高大上的在线文档系统&#xff0c;虽然比着葫芦画瓢的修改了一些所谓的代码&#xff0c;慢慢的才发现&#xff0c;原来这就是传说中的React&#xff0c;所以有比较又要囫囵吞枣一下React。 基本原理 参照《React技术揭秘》 网上有电子版 &#xff0c;应该是…