Linux之删除带有空格的文件(不是目录)

大家平时工作中对不带空格的文件接触较多。这样一来删除操作也是比较简单的。但是有时我们会接触带有空格的文件。对于这种文件我们应该如何删除呢?

首先我们演示一下find命令结合xargs命令删除不带空格的文件

[root@ELK-chaofeng test]# touch 1.txt 2.txt
[root@ELK-chaofeng test]# ls
1.txt 2.txt
[root@ELK-chaofeng test]# find . -type f | xargs
./1.txt ./2.txt
[root@ELK-chaofeng test]# find . -type f | xargs rm -rf
[root@ELK-chaofeng test]# ls
[root@ELK-chaofeng test]#

接下来我们演示删除带有空格的文件

[root@ELK-chaofeng test]# touch 1.txt 2.txt '1 2.txt'
[root@ELK-chaofeng test]# ls
1 2.txt 1.txt 2.txt
[root@ELK-chaofeng test]# ll
total 0
-rw-r--r-- 1 root root 0 Feb 14 12:24 1 2.txt
-rw-r--r-- 1 root root 0 Feb 14 12:24 1.txt
-rw-r--r-- 1 root root 0 Feb 14 12:24 2.txt
[root@ELK-chaofeng test]# find . -type f -print0 | xargs -0 rm -rf
[root@ELK-chaofeng test]# ls

上面的参数-print0,于默认的-print相比,输出的序列不是以空格分隔,而是以null字符分隔。而xargs也有一个参数-0,可以接受以null而非空格间隔的输入流。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Windows和Linux下定时删除某天前的文件的脚本

    以前做到最多的定时我们就是定时备份功能了,我们常用利用定时功能来备份网站数据或备份数据库了,下面我来给(www.jb51.net)大家介绍几个Linux与Windows中定时删除某天前的文件方法,这个与备份有点区别,但大同小义了. Windows下bat文件内容如下: 复制代码 代码如下: @echo off forfiles -p "D:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"

  • Linux下正确快速删除海量文件的方法分享

    前言 注意本文说的"海量"并不是指体积大,而是指数量,比如一个目录下有数百万个小文件. 最近在优化服务器时发现postfix下的maildrop目录和clientmqueue目录下发现有大量的文件,进入这些目录里使用ls命令是愚蠢的做法,而直接执行rm * , 没有任何反应,文件数量也没有减少,也就是说,在海量文件目录里直接使用rm命令进行删除是无效的. 那么正确的方法是什么呢?有两种方法可选: 第一种: find /path/to/directory -type f -exec rm

  • linux实现除了某个文件或某个文件夹以外的全部删除

    比如一个目录下有1,2,3,4,5这五个文件,现在我需要删除除了2以外的所有文件,那么我可以使用 find . ! -name 2 -exec rm -f {} \; 当然你还可以配合着 -maxdepth 来更精准的删除了. 下面演示删除的范围仅限于当前目录. find . -maxdepth 1 ! -name 2 -exec rm -f {} \; 下面提供Linux下find命令的详细使用方法 在目录结构中搜索文件,并执行指定的操作.此命令提供了相当多的查找条件,功能很强大. 语法:fi

  • linux 不删除文件,清空文件中内容的命令

    在某些时候,需要清空文件内容,而不删除文件.比喻有些日志文件(log.txt):在linux下的命令为:true >log.txt 测试结果: touch log.txt →#新建文件log.txt vi log.txt →#编辑文件 随便输入什么东西 :wq!回车 →#保存退出: cat log.txt →#查看 文件内容: true >log.txt →#查看文件里面的内容: 附: rm -r 删除目录,不管目录中有没有文件 rm -rf 强制删除,没有提示 一般用到的就这两个,删除文件可

  • linux删除大量文件的6种方法

    首先建立50万个文件 复制代码 代码如下: test  for i in $(seq 1 500000)for> dofor> echo test >>$i.txtfor> done 1 rm 复制代码 代码如下: test  time rm -f *zsh: sure you want to delete all the files in /home/hungerr/test [yn]? yzsh: argument list too long: rmrm -f *  3.

  • Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的行 # 运行方式: ./dline.sh c.log ==> 产生输出文件: c.log0 array=( "rm -f lvr_3531_pf_new" "arm-hisiv100-linux-gcc " "In function " &qu

  • Linux中删除文件内空行的4种方法

    在Linux上处理一些数据文件时,有时候需要将其中的空行过滤掉,系统中提供的各种工具都可以完成这个功能.将常用的介绍如下吧:1. grep 复制代码 代码如下: grep . data.txtgrep -v '^$' data.txtgrep '[^$]' data.txt 2. sed 复制代码 代码如下: sed  '/^$/d' data.txtsed '/^\s*$/d' data.txt   #这个命令还可将完全空格.tab等组成的空行删掉.# The character class

  • Linux系统删除文件夹和文件的命令

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思 删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 删除文件使用实例: rm -f /var/log/htt

  • linux实现自动删除最旧的几个文件详解

    前言 因为公司的文件服务器上存有所需的项目war包,一段时间以后,大量不用的工程文件占用磁盘空间,需要定期删除无用的文件.这些文件归属不同的项目目录下,创建的时间各不相同.某些陈旧项目已经数年没有更新.因此,不能只定期删除某个目录下的文件,更不能按时间删除多少天以前的文件.下面话不多说了,来一起看看详细的实现过程吧. 推进 统计目录下的文件夹数量 ls -l | grep '^d' | wc -l 这里的grep '^d'是统计文件夹,如果统计文件数目,用grep '^-' 列举最老的2个文件

  • Linux之删除带有空格的文件(不是目录)

    大家平时工作中对不带空格的文件接触较多.这样一来删除操作也是比较简单的.但是有时我们会接触带有空格的文件.对于这种文件我们应该如何删除呢? 首先我们演示一下find命令结合xargs命令删除不带空格的文件 [root@ELK-chaofeng test]# touch 1.txt 2.txt [root@ELK-chaofeng test]# ls 1.txt 2.txt [root@ELK-chaofeng test]# find . -type f | xargs ./1.txt ./2.t

  • Linux下SVN服务器自动更新文件到Web目录的方法

    说明: 服务器操作系统:CentOS 服务器IP:192.168.21.134 SVN安装路径:/usr/local/svn SVN项目路径:/home/svn SVN登录账号:osyunwei SVN登录密码:123456 Web站点根目录:/home/web 实现目的: 当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录 具体操作: 一.使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录 cd /home/svn/h

  • Linux下删除乱码或特殊字符文件的方法讲解

    由于编码原因,在linux服务器上上传.创建中文文件或目录时,会产生乱码,如果想删除它,用rm命令是删除不了的,这种情况下,用find命令可以删除乱码的文件或目录. 在linux文件系统中,每个文件都有一个i节点号,可以通过i节点号来管理文件.首先进入乱码文件或目录所在的目录 使用ls -i命令找到文件或目录的inode, 文件或目录前面的数字字符串就是inode,接下来使用find命令查询并且删除此文件或目录. 注意:此方法只适用于删除文件或空的文件夹. 非空文件夹怎么删除呢? 首先也是先查i

  • linux下删除带-号的文件

    不知为何主目录下突然多了个-sV文件,目测是因为nmap的-sV参数产生的. 写下来权当做个笔记~ 现在来模拟下当时的情况 touch -- -sV touch ./-sV # 两种都行 现在工作目录底下会产生一个文件名为-sV的文件 如果执行 rm -sV 会产生一个错误 rm: invalid option -- 's' Try 'rm --help' for more information. 原因是无效的参数s 本来打算Google下看看的,结果rm --help就看到答案了 To re

  • Linux 按时间批量删除文件命令(删除N天前文件)

    需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据. 可以使用下面一条命令去完成: find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \; 这个是根据时间删除. 下面简要解释一下,这句shell命令: find /home/lifeccp/dicom/studies -mtime +21 -name "*.*"

  • Linux查找处理文件名后包含空格的文件(两种方法)

    当Linux下文件名中出现空格这类特殊情况话,如何查找或确认那些文件名后有空格呢? 又怎么批量替换处理掉这些空格呢? 方法1: 输入文件名后使用Tab键,如果使用Tab键后面出现\ \ \这样的可见字符,那么该文件名包含空格.当然,这个方法弊端很大,例如,效率低下,不能批量查找,只有当你怀疑某个文件名后有空格,这个方法才比较凑效.另外,不能查找文件中间包含空格的文件名.如下测试所示: [root@DB-Server kerry]# cat >"test.txt " it is o

  • Linux 删除文件夹和文件的命令(强制删除包括非空文件)

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思 1.删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 2.删除文件使用实例: rm -f /var/log

随机推荐