Windows FINDSTR Ubuntu 相当于搜索 .csv

Windows FINDSTR Ubuntu 相当于搜索 .csv

我有一个文件夹(Transactions),里面有数百个 .csv 文件。我想在所有 csv 文件中搜索特定字符串,并获取包含该字符串的每一行的输出。最好输出到 txt 文件。例如,假设我想查找包含名称 John Doe 的任何记录。在 Windows 中,我将使用以下命令:

FINDSTR /n /i "John.Doe" *.csv >> johndoe.txt
  • /n给我行号
  • /i忽略大小写
  • "."分隔单词
  • *.csv搜索所有以 .csv 结尾的文件,以及
  • >>输出到包含所有包含该字符串的数据的新文件(到同一个文件夹)。

我正在寻找一个类似的命令,用于 Ubuntu 终端,它将搜索所有 .csv 文件并将所有匹配项输出到 txt 文件。我研究过 grep 和 awk,但不知道如何使用它们。任何帮助都将不胜感激。谢谢。

答案1

我研究过 grep 和 awk,但不知道如何使用它们。

grep 文档有有很多例子。第一个用法部分演示了不区分大小写的搜索:

以下是调用 GNU 的示例命令grep

 grep -i 'hello.*world' menu.h main.c

... 该-i选项导致grep忽略大小写,从而导致它匹配行“ Hello, world!”,否则它不会匹配。

line number如果我在上述页面中搜索:

-n
--line-number
Prefix each line of output with the 1-based line number within its input file. (-n is specified by POSIX.)

>> foo并由*.csvshell 处理(可能正如您所期望的那样)。因此:

grep -in "John.Doe" *.csv >> johndoe.txt

在 Unix 世界中,诸如 、 等选项通常以连字符/i开头。/n

答案2

免费应用程序“CsvFileSearch”将完全满足您的要求。

http://webmayo.com/csvfilesearch

相关内容