正文:
每个Linux用户都可能遇到这样一个问题:在使用Linux系统时,有时候会出现文件名称开头有空格的情况,这会给文件的使用带来一定的困扰。如何快速地删除文件名开头的空格呢?下面就来介绍一些方法。
方法一:使用rename命令
rename命令是Linux下的一个重命名命令,可以通过它来批量修改文件名,因为对于每个文件都可以采用正则表达式来匹配相应的文件名。
进入待修改的目录,使用以下命令进行操作:
“`bash
rename ‘s/^\s+//’ *
“`
这条命令的含义是:使用正则表达式,将每一个以空白字符开头的字符串都删除。
此外,如果你想保留之一个空格以外的空格,可以使用以下命令:
“`bash
rename ‘s/^\s{1,}//’ *
“`
方法二:使用find和sed命令
如果你想删除某个目录下所有文件开头的空格,可以使用find和sed命令组合来实现。
“`bash
find ./ -type f -name “* *” -print0 | \
“`
以上命令寻找名字中有空格的所有文件,接下来把每个找到的文件移动到一个新的文件名,新的文件名不再有空格:
“`bash
while read -d $’0′ file ; do mv -v “$file” “$(echo “${file}” | sed -e ‘s/^[[:space:]]*//’)”; done
“`
方法三:使用renameutils包
若上述两种方法都无法满足你的需求,你还可以使用renameutils包中的qmv命令。qmv命令可以打开你的默认编辑器,把你选中的文件的每个文件名与当前编辑区域的每行相对应。
在qmv命令中,每一行都表示一个文件,文件名后有一个制表符,可以用来分隔原始文件名和新文件名的一部分。
在终端输入以下命令安装renameutils包:
“`bash
sudo apt-get install renameutils
“`
然后进入待修改文件所在目录,输入以下命令:
“`bash
qmv -f do *
“`
执行之后就可以打开默认编辑器,你可以像编辑文本一样对文件名进行编辑,然后保存并退出。
:
以上三种方法都可以快速地删除文件名开头的空格,不过使用哪种方法还需要根据具体情况来定。希望这篇快速教程能够帮助你更好地使用Linux系统。
相关问题拓展阅读:
先用
ls
-i
得到
hello
world
的inod(就是最前面的数字)假设这个数字是123,然后find
.
-inum
123
-exec
rm
{}
\;
就ok了
sed命令行格式:sed ‘command’ file(s)
options常用选项:
-n或–quiet或——silent:仅显示script处理后的结果;
-e:以选项中的指定的script来处理输入的文本文件;
-f:以选项中指定的script文件来处理输入的文本文件;
-r∶sed 的动作支援的是延伸型正规表示法的语法;
-i∶直接修改读取的档案内容,而不是由萤幕输出;
-h或–help:显示帮助;
-V或–version:显示版本信息。
Command常用命令:
a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行);
c:取代,c 的后面可以接字符串,这些字符串可以取代 n1.n2 之间的行;
d:删除,d 后面通常不接任何字符串;
i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);
p:列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;
s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。
实例说明:
新增操作:a命令
sed ‘/^bird/a\test’ file将test追加到 以bird开头的行后面
删除操作:d命令
sed ‘/^$/d’ file #删除空白行;
sed ‘2d’ file #删除第二行;
sed ‘2.$d’ file #删除第2行到最后一行;
sed ‘$d’ file #删除最后一行;
sed ‘/^bird/’d file #删除所有开头是bird的行;
插入操作:i命令
sed -i ‘3i\bird ‘ bird.conf #在bird.conf文件第3行之前插入bird
替换文本中的字符串:s命令
sed ‘s/bird/birds/’ file #将文本中的bird替换成birds;
sed -i ‘s/ bird / birds /g’ file #将file文件中每一行的之一个bird替换为birds;
sed “stream editor”,字符流编辑器,按行处理文件,把正在处理的行保存到一个临时缓冲区,处理完数据后,把结果发送到屏幕,并删除缓存内容。不消耗内存,但耗时。
sed -n ‘2p’ 只打印第二行。p为print。-n为只打印指定内容
sed -n ‘/asdf/,/saf/p’ file 打印两者匹配之间的所有行
-n 和p同时出现
sed -n ‘2,/abc/p’ file 打印从第2行到匹配到abc的行
删除空行:sed ‘/^ 行尾
删除只有空格行:sed ‘/^ +$d’ file
将A开始的行震撼替换成NA:sed ‘s/^A.*$/NA/g’ file
匹配次数
示例:
sed -n ‘/^jiayou*/p’ file
sed -n ‘/^jiayou?/p’ file 匹配以jiyou开始,后面跟0个或1个小写字母
sed -n ‘/(123){2}/p’ datafile.txt 打印连续出现两次的行。进行分组。
去掉太多转义符,sed -r -n ‘/(123){2}/p’ datafile.txt
sed ‘
d’ file
删除命令
sed ‘4,8d’ file
sed ‘4,$d’ datafile 删除第4行到最后一行
sed ‘s/abc/ABC/’ file提每一行之一次匹配进行替换
sed ‘2,5s/abc/ABC/’ datafile对2-5行范围之一次匹配进####行替换
sed ‘s:abc:ABC’ file 修改定界符
sed -n ‘s/abc/ABC/gp’ file只打印替换的行
sed -n ‘s/abc/ABC/i’ file 替换时忽略大小写
sed ‘3i abc’ file 第三行前插入文本
sed ‘3a ABC’ file第三行后追加文本
sed ‘3c ABC’ file 替换第三行内容
sed ‘3,6c abc’ file替换指定范围的行换成一行内容sed sed ‘3i ABC ENF\nAAAA bbbb’ datafile.txt
对同一文件使用多条命令: sed -e
sed -r 不用加转义符号
sed -f script.file datafile 把命令写入文件,-f执行文件内操作
sed -n 取消默认输出
sed -i 直接修改输入文件内容,而不是输出到终端
sed -r 使用扩展正则表达式
sed -n ‘/abc/, 表示最后一行,不是正则表达式的$
sed -n ‘/abc/!p’ datafile 不匹配abc的行!表否定
sed -n ‘1!p’ datafile 不打印之一行
sed -n ‘1,3!p’ datafile 不答应第1,3行
关于linux 删除 开头 空格的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
创新互联成都网站建设公司提供专业的建站服务,为您量身定制,欢迎来电(028-86922220)为您打造专属于企业本身的网络品牌形象。
成都创新互联品牌官网提供专业的网站建设、设计、制作等服务,是一家以网站建设为主要业务的公司,在网站建设、设计和制作领域具有丰富的经验。
文章题目:快速教程:Linux下如何删除文件名开头的空格(linux删除开头空格)
浏览地址:http://www.mswzjz.cn/qtweb/news31/354181.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能