正文:
每个Linux用户都可能遇到这样一个问题:在使用Linux系统时,有时候会出现文件名称开头有空格的情况,这会给文件的使用带来一定的困扰。如何快速地删除文件名开头的空格呢?下面就来介绍一些方法。
方法一:使用rename命令
rename命令是Linux下的一个重命名命令,可以通过它来批量修改文件名,因为对于每个文件都可以采用正则表达式来匹配相应的文件名。
进入待修改的目录,使用以下命令进行操作:
rename ‘s/^\s+//’ *
这条命令的含义是:使用正则表达式,将每一个以空白字符开头的字符串都删除。
此外,如果你想保留之一个空格以外的空格,可以使用以下命令:
rename ‘s/^\s{1,}//’ *
方法二:使用find和sed命令
如果你想删除某个目录下所有文件开头的空格,可以使用find和sed命令组合来实现。
find ./ -type f -name “* *” -print0 | \
以上命令寻找名字中有空格的所有文件,接下来把每个找到的文件移动到一个新的文件名,新的文件名不再有空格:
while read -d $’0′ file ; do mv -v “$file” “$(echo “${file}” | sed -e ‘s/^[[:space:]]*//’)”; done
方法三:使用renameutils包
若上述两种方法都无法满足你的需求,你还可以使用renameutils包中的qmv命令。qmv命令可以打开你的默认编辑器,把你选中的文件的每个文件名与当前编辑区域的每行相对应。
在qmv命令中,每一行都表示一个文件,文件名后有一个制表符,可以用来分隔原始文件名和新文件名的一部分。
在终端输入以下命令安装renameutils包:
sudo apt-get install renameutils
然后进入待修改文件所在目录,输入以下命令:
执行之后就可以打开默认编辑器,你可以像编辑文本一样对文件名进行编辑,然后保存并退出。
以上三种方法都可以快速地删除文件名开头的空格,不过使用哪种方法还需要根据具体情况来定。希望这篇快速教程能够帮助你更好地使用Linux系统。
相关问题拓展阅读:
linux下带有空格的文件怎么删除?
先用
得到
的inod(就是最前面的数字)假设这个数字是123,然后find
就ok了
Linux命令行操作之sed
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’>香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
linux 编辑文件,与修改文件名???
1.写文件的话,可以用vi或者vim命令。 例如: $touch $vim 然后按i来编辑文档,编辑完成后,按Esc进入命令行,按shift键,然后键入冒号wq(:wq),表示保存你所作的修改并退出,如果不想保存所作的修改可以键入冒号q!(:q!),表示强制退出。 随后可以用 cat命令来查看你所做的修改。 2. 修改文件名用 mv. 例如:mv 便把文件名修改成了.
linux ls命令中-color是什么意思,最好详细点
man ls 看看就知道了:--color[=WHEN]colorizetheoutput. WHENdefaultsto`alwaysor can be `never or `auto.就是说在什么情况下(总是,从不,或自动)让ls的结果用彩色显示。 例如ubuntu下的ls其实是 ls --color=auto的别名。
linux下为用户备注名称
首先来新建一个用户a ,密码
useradd a -p
然后查看/etc/passwd文件,看到了新增加的用a,以冒号作为分隔符,各段的说明如下:
a 代表用户
x 代表密码,该密码是经过MD5加密生成的
501第一个501代表用户uid,第二个501代表用户gid
::之间的就代表用户的说明
/home/a 代表用户a的家目录
/bin/bash 代表用户的登录shell
现在要给用户a增加备注,使用以下命令
usermod -c FTP user a
下面查看哈,修改的结果
看到那里变成FTP user 了吧。 成功了。 。
说的很明白了哦!
发表评论