首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在目标目录(Ies)/和打印(Bash)中的所有文件上搜索input.file中的所有字符串

在目标目录(Ies)/和打印(Bash)中的所有文件上搜索input.file中的所有字符串
EN

Stack Overflow用户
提问于 2018-12-07 03:18:32
回答 2查看 34关注 0票数 0

我需要搜索目标目录中的所有文件,并从输入文件中打印所有匹配的找到的字符串。似乎不能这么做。下面是一个示例场景和问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ tree .
.
├── input_file.txt
└── target-dir
    ├── target-file-A.txt
    ├── target-file-B.txt
    ├── target-subdir-A
    │   ├── target-file-A.txt
    │   └── target-file-B.txt
    └── target-subdir-B
        ├── target-file-A.txt
        └── target-file-B.txt

$ cat input_file.txt
abc
cba
bca
acb

$ cat target-dir/target-file-A.txt
abc
cba
bca
acb
$ cat target-dir/target-file-B.txt
acb
cba
abc
bca
0101
1010

$ grep -f input_file.txt -r .

./input_file.txt:acb

./target-dir/target-file-A.txt:acb
./target-dir/target-file-B.txt:acb

./target-dir/target-subdir-A/target-file-A.txt:acb
./target-dir/target-subdir-A/target-file-B.txt:acb

./target-dir/target-subdir-B/target-file-A.txt:acb
./target-dir/target-subdir-B/target-file-B.txt:acb

我只看到一个匹配的行打印(第一)和rest被忽略。我怎样才能把所有的匹配线打印出来?我需要搜索大量的网络日志,以查找对IOC (IP/URL)的所有点击,这比预期的要困难。编辑:-我应该提到这是“Ubuntu16.04.5LTS \n \l”在 10下作为WSL工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-07 03:37:15

您的grep命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -f input_file.txt -r .

应该按照您的期望工作,并匹配input_file.txt中的所有字符串,在./下的所有文件中用新行分隔。在这种情况下,我怀疑在Windows下创建了Windows end行的文件。您可以尝试如下所示,以确保您有正确的UNIX端行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find ./ -type f -print0 | xargs -0 dos2unix

再试一次。

票数 1
EN

Stack Overflow用户

发布于 2018-12-07 03:45:53

求你别杀我。也许有人会觉得这篇文章很有用。

解决方案是:行编码。由于我本机在Windows上运行--我的崇高文本被设置为"Windows“,而WSL是Unix,因此无法理解这些行尾。在编辑器中切换该选项后,一切工作正常:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cat -A input_file_changed.txt
abc$
cba$
bca$
acb

$ cat -A input_file.txt
abc^M$
cba^M$
bca^M$
acb

    $ grep -f input_file_changed.txt -r .
    ./input_file.txt:abc
    ./input_file.txt:cba
    ./input_file.txt:bca
    ./input_file.txt:acb
    ./input_file_changed.txt:abc
    ./input_file_changed.txt:cba
    ./input_file_changed.txt:bca
    ./input_file_changed.txt:acb
    ./target-dir/target-file-A.txt:abc
    ./target-dir/target-file-A.txt:cba
    ./target-dir/target-file-A.txt:bca
    ./target-dir/target-file-A.txt:acb
    ./target-dir/target-file-B.txt:acb
    ./target-dir/target-file-B.txt:cba
    ./target-dir/target-file-B.txt:abc
    ./target-dir/target-file-B.txt:bca
    ./target-dir/target-subdir-A/target-file-A.txt:abc
    ./target-dir/target-subdir-A/target-file-A.txt:cba
    ./target-dir/target-subdir-A/target-file-A.txt:bca
    ./target-dir/target-subdir-A/target-file-A.txt:acb
    ./target-dir/target-subdir-A/target-file-B.txt:acb
    ./target-dir/target-subdir-A/target-file-B.txt:cba
    ./target-dir/target-subdir-A/target-file-B.txt:abc
    ./target-dir/target-subdir-A/target-file-B.txt:bca
    ./target-dir/target-subdir-B/target-file-A.txt:abc
    ./target-dir/target-subdir-B/target-file-A.txt:cba
    ./target-dir/target-subdir-B/target-file-A.txt:bca
    ./target-dir/target-subdir-B/target-file-A.txt:acb
    ./target-dir/target-subdir-B/target-file-B.txt:acb
    ./target-dir/target-subdir-B/target-file-B.txt:cba
    ./target-dir/target-subdir-B/target-file-B.txt:abc
    ./target-dir/target-subdir-B/target-file-B.txt:bca
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53668490

复制
相关文章
Nodejs中读取文件目录中的所有文件
关于Nodejs中的文件系统即File System可以参考官方Node.js v12.18.1的文档File system
ccf19881030
2020/06/28
14.8K0
如何在Linux中删除目录的所有文件?
在Linux操作系统中,删除目录的所有文件是一项常见任务。无论是清理不需要的文件还是准备删除整个目录,正确地删除目录下的所有文件是重要的。本文将详细介绍如何在Linux中删除目录的所有文件,包括使用常见的命令和技巧进行操作。
网络技术联盟站
2023/06/08
17.2K0
如何在Linux中删除目录的所有文件?
Bash 脚本列出前缀中的所有 IP
例子 ./cidr-to-ip.sh [OPTION(only one)] [STRING/FILENAME] -h 显示此帮助屏幕 -f 在给定 STRING(s) 时强制检查网络边界 -i 将从输入文件中读取(文件每行应包含一个 CIDR)(无网络边界检查) -b 与 -i 相同,但具有网络边界检查 #!/bin/bash ############################ ## Methods ############################ prefix_
Khan安全团队
2022/01/05
2.1K0
【说站】Python如何列出目录中的所有文件
1、os.listdir()将提供目录中的所有内容,文件和目录。如果只想要文件,可以使用方法过滤os.path。
很酷的站长
2022/11/26
4.5K0
【说站】Python如何列出目录中的所有文件
在 Linux 中重命名文件夹中的所有文件
在Linux系统中,有时候我们需要批量重命名文件夹中的所有文件,以便更好地组织和管理文件。本文将详细介绍几种在Linux中重命名文件夹中所有文件的方法,包括使用命令行工具和脚本等方式。
网络技术联盟站
2023/06/08
5.1K0
在 Linux 中重命名文件夹中的所有文件
使用Python批量复制源目录下的所有Excel文件复制到目标目录中
前几天在Python白银群【由恒远】问了一个Python自动化办公处理的问题,这里拿出来给大家分享下。
Python进阶者
2023/09/02
5290
使用Python批量复制源目录下的所有Excel文件复制到目标目录中
递归删除目录下的所有文件及子目录下所有文件
目录 1 代码 1 代码 /** * 递归删除目录下的所有文件及子目录下所有文件,以及 * @param dir 将要删除的文件目录 */ public static boolean deleteDir(File dir) { if (dir.isDirectory()) { String[] children = dir.list(); //递归删除目录中的子目录下 for (in
一写代码就开心
2022/08/16
1.7K0
按字典序打印字符串中字符的所有排列
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
名字是乱打的
2022/05/13
1.4K0
java 删除目录下所有文件_Java删除文件、目录及目录下所有文件的方法实例
本文主要实现的功能是删除某个目录及目录下的所有子目录和文件,涉及到的知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除。
全栈程序员站长
2022/09/01
3.5K0
php列出目录下的所有文件
function myDir($dir = __file__) { // 定于需要列出的目录地址 //$dir = dirname(__file__); // 用 opendir() 打开目录,失败则中止程序 $handle = @opendir($dir) or die("Cannot open " . $dir); echo "<b>Files in " . $dir . ":</b><br>"; // 用 readdir 读出文件列表 while
零式的天空
2022/03/02
2.1K0
PHP 取目录所有文件
PHP取目录所有文件,过滤了".."与"." 将查到的文件放到files数组。 $handle = @opendir('目录') OR die('path error!'); while ($file = @readdir($handle)) { if( "." != $file && ".." != $file ) { $files[] = $file; } } closedir($handle);
雨尘
2018/07/17
2K0
PHP 取目录所有文件
V站笔记 $handle = @opendir('目录') OR die('path error!'); while ($file = @readdir($handle)) { if( "." != $file && ".." != $file ) { $files[] = $file; } } closedir($handle);
V站CEO-西顾
2018/06/09
6.7K1
ExcelVBA学习之一键打印文件夹中的所有Excel文件
【问题】要打印的Excel文件有几百个,格式有2003版本的也有2016版本的,全部都打印第一个sheet1工作表就可以啦,(如果所在的sheet工作都要打印呢?)。
哆哆Excel
2022/10/25
2.9K0
ExcelVBA学习之一键打印文件夹中的所有Excel文件
查看指定目录下的所有目录文件 转
if (entry->d_type == 4 && strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) {
domain0
2018/08/02
1.7K0
PHP 取目录所有文件
PHP取目录所有文件,过滤了".."与"." 将查到的文件放到files数组。 $handle = @opendir('目录') OR die('path error!'); while ($file = @readdir($handle)) { if( "." != $file && ".." != $file ) { $files[] = $file; } } closedir($handle);
墨渊
2018/05/09
2.2K0
ExcelVBA一键批量打印文件夹中的所有word文档
【常规作法】打开一个~打印~关闭~提示是否保存~否,再来一个……………………,天啊,要重复做到什么时候。
哆哆Excel
2022/10/25
3.5K0
ExcelVBA一键批量打印文件夹中的所有word文档
java 输出字符串的所有排列_Java程序打印字符串的所有排列
static void print_permutations(String my_str,String my_ans){
用户7886150
2021/04/29
1.1K0
读取文件中的所有图片的路径,保存到txt文件中。
import sys import os.path if __name__ == "__main__": f = open('dataset.txt', 'w') # 文件名,文件下还有多个类别的文件。 BASE_PATH="JAFFE" SEPARATOR=";" # 绝对路径地址 pth = "/Users/liupeng/Desktop/my/faceER/DataSet/" for dirname, dirnames, filename
MachineLP
2022/05/09
6.9K0
HDFS——如何列出目录下的所有文件
可以用bin/Hadoop fs -ls 来读取HDFS某一目录下的文件列表及属性信息。
星哥玩云
2022/06/30
3.9K0
遍历目录下所有文件的小例子
❝遍历目录下所有文件并打印出文件名字,大小,创建日期等信息。❞ 创建需要遍历目录的QDir。 QDir fileDir("C:/Users/Strong/Documents"); 设置过滤配置,只匹配文件。 fileDir.setFilter(QDir::Files); 返回目录中所有文件和目录的QFileInfo对象列表并遍历。 QFileInfoList fileInfoList = fileDir.entryInfoList(); foreach(const QFileInfo &fileInfo
Qt君
2020/03/19
1.1K0

相似问题

搜索和导入目标目录中的所有.csv文件

11

Bash -在目录中搜索所有脚本

14

如何打印Bash中的所有父目录

217

Bash脚本:目录中的所有文件

12

搜索并打印目录的所有文件和子文件夹。

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文