如何在Linux中查找包含首选字符的文件

如何在Linux中查找包含首选字符的文件,linux,ubuntu-14.04,Linux,Ubuntu 14.04,如何查找包含一个字符(例如“a”)的文件和目录 我知道有命令ls a*,但这会查找所有以字符开头的文件尝试使用find命令复制以“a”字符开头的文件 find /your/source/path -name 'a*' -exec cp {} /your/target/path \; 要查找包含“a”字符的文件,请使用以下命令 grep -r 'a' /your/source/path/* | xargs cp /your/target/path 查找[搜索的根]-名称[模式] 比如说 fi

如何查找包含一个字符(例如“a”)的文件和目录


我知道有命令ls a*,但这会查找所有以字符开头的文件

尝试使用find命令复制以“a”字符开头的文件

find /your/source/path -name 'a*' -exec cp {} /your/target/path  \;
要查找包含“a”字符的文件,请使用以下命令

grep -r 'a' /your/source/path/* | xargs cp /your/target/path

查找[搜索的根]-名称[模式]

比如说

find-名称“*a*”

你可以像这样复制它们

cp`查找-名称“a”`/目的地/路径


正如其他人提到的

find . -name '*a*'
你应该做你想做的事

但是,请注意,此仅查找小写字母“a”。如果希望它不区分大小写,可以使用

find . -iname '*a*'
“*”是一个通配符,表示它匹配任何随机选择的文本。例如,如果你写了

find . -name 'a'
“find”将只查找名为“a”的文件,不带任何扩展名

因此,

将查找以字母“a”结尾的所有文件,而

find . -name 'a*'

将查找所有以字母“a”开头的文件。

抱歉,不清楚您到底想要什么。尝试重新措辞,添加一些示例。我想将文件从一个目录复制到另一个目录,但只复制包含例如字母cso的文件。您的意思是它应该只有一个字符,但不能以该字符开头?您是说要查找名称包含字母c的所有文件,还是文件内容包含字母c?请重新表述您的问题,例如,我需要包含字母a的文件,有文件名为bertacc、getyac、yacv、tyuee、jghcl,因此我需要只查找这些文件的命令bertacc、getyac、,yacvI认为该命令将查找以字母aI开头的文件编辑答案,以显示如何复制与搜索匹配的文件。因此,如果我要复制名称中包含字母a的所有文件,我需要键入以下命令cp'a'/home/user/myfiles
find . -name 'a*'