我使用以下命令递归搜索多个文件,并在每个找到字符串的文件中查找行号。
grep -nr "the_string" /media/slowly/DATA/lots_of_files > output.txt
产出如下:
/media/slowly/DATA/lots_of_files/lots_of_files/file_3.txt:3:the_string
/media/slowly/DATA/lots_of_files/lots_of_files/file_7.txt:6:the_string is in this sentence.
/
我有一个由#或:分隔的多行文件,我希望删除所有没有3磅4冒号的行。这就是我试过的:
awk '! /^\#{3}\:{4}+$/' "$file"
编辑以提供示例行:
958#40#6#020104
Thanhachammet,Chendrit:D500:5833:8.40:12.10
This is # bad : line
我不想把像1和2这样的所有行发送到一个文件中,不包括像#3这样的所有行。
嘿,伙计们,我正在尝试运行一个shell脚本,它搜索一个目录,然后检查目录的文件,看看它是否能找到一个特定的名称。基本的东西。目录名为labs,它位于我的主目录下。这些文件没有文件扩展名。脚本需要在我的主目录中运行。我正在尝试打开所有文件并搜索特定的名称。这是脚本中给我带来麻烦的一行:
ls labs | xargs cat | grep name
我得到了以下错误:
cat: cannot open name_of_file
我找到的每一份文件。为什么这个在目录之外不能工作,但是当我在里面的时候,它是好的。我怎么才能让它起作用?我的bash没有公开命令。
当我将文件名传递给带有xargs的grep时,grep: : No such file or directory从何而来?
⋊> ~/.v/bundle find . -name config | grep ".git" | xargs grep "url" {} 11:07:46
grep: : No such file or directory
./Dockerfile.vim/.git/conf
我需要遍历同一目录中的所有文件,如果在该目录中的任何文件中存在特定行"File need be delete“,则只删除这些文件。从命令行它是如何工作的呢? 例如,该目录包含1000个文件的file1、file2、file3等。每个文件有10,000行字符串。如果任何文件包含字符串“文件需要被删除”,请删除这些文件,但不要删除不包含该字符串的文件。 我是沿着这样的路线走的 for each file the directory; do
if [ row text == "File needs to be deleted" ]; then
delete fi
如何从目录树的多个文件中搜索和删除一行(而不是替换行)?我尝试过grepWin和Windows Grep等程序,但它们替换了行,它们不会删除整行。我最好的选择是什么?
示例:搜索"hello“并删除其中任何包含"hello”的行。
yo
hello hey hey
hi hello
bye
bye
应该会回来
yo
bye
bye