簡體   English   中英

如何使用 bash 腳本在文件內容中查找文件名?

[英]How to find filename in file content with bash script?

我在我的 shell 中寫了這條命令,但它沒有按照我的意願行事,我無法弄清楚我做錯了什么。 我想從當前目錄中獲取文件,這些文件的內容中包含它們的名稱。

find -type f -exec grep -il {} +

我知道find -type f為我提供了目錄中的標准文件,並且-exec在給定文件('+')上執行帶有模式(文件名)的grep命令。 我對嗎? 因為它沒有找到我為此目的專門創建的文件,所以我似乎不明白。

在給定文件 ('+')

+所有找到的文件執行命令。 {}替換為當前目錄中的文件列表

使用-exec echo grep -il {} +調試。

你要:

-exec grep -Fil {} {} ';'

在名為{}的文件中搜索文件名{}作為模式。 ';' 終止命令。

我還添加了-F來從字面上解釋模式。

當前目錄下的文件test.txt

文件內容包括“test”

find. -name 'test.txt' -exec grep -i 'test' {} \;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM