linux怎么消除文件名中的空格

linux怎么消除文件名中的空格,第1张

可以在空格前加上转义符 \ ,就能达到效果。比如:

~$ ls test\ aa.txt

test aa.txt

~$ rm test\ aa.txt

~$ ls test\ aa.txt

ls: cannot access test aa.txt: No such file or directory

这样就删除了文件。

如果文件的第一个字符不是空格,可以先写几个字符,再用tab键选择,会自动出来带 \ 转义之后的文件名。

\字符的意义:

\(反斜杠) 又叫转义,去除其后紧跟的元字符或通配符的特殊意义。

转义符还可以处理其他特殊符号,比如通用符:*、?、$等,以及 \ 字符本身。只需要在它前面加上 \ 即可。

方法一:利用grep

grep -v '^\s*$' test.txt

注:-v表示将匹配的结果进行反转,正则表达式匹配空行。(空行可包括空格符制表符等空白字符)

方法二:利用sed

sed '/^\s*$/d' test.txt

注:d代表删除该行

方法三:利用awk

awk NF test.txt

注:NF代表当前行的字段数,空行的话字段数为0,被awk解释为假,因此不进行输出。

以上三种方式均可处理包含空白字符(空格符,制表符等)的空行。

方法四:若空行均由’\n'造成,则还可以利用tr命令去除空行。《Linux就该这么学》

tr -s '\n' <test.txt

注:-s代表将多个连续的字符压缩成一个字符,这里是将多个‘\n'压缩成一个'\n',达到去除空行的效果。

方法四的缺陷:如果首行就出现空行的话则无法去除首行的空行


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/6251445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存