看板 Linux 關於我們 聯絡資訊
※ 引述《peter308 (pete)》之銘言: : 標題: [問題] 如何把指令的訊息指定成某一變數的內容?????? : 時間: Fri Oct 3 15:25:07 2008 : 資料夾下有一個檔案 0001.dat : 內容如下: : xxxxxxxxxxxxx : yyyyyyyyyyyy : zzzzzzzzz zzzzzzzzzzzz : dddddddddddddddddddddd : linux cccccc : aaaaaaaaaaaa : : : 我想用 find -name \0001.dat |xargs grep -i "linux" : 把有linux的那行 "linux cccccc" : 指定給 一個變數 var : → peter308:我補充一點 那些無關緊要的其他內容是資料夾其他的檔案 10/03 16:25 : → peter308:linux cccccc 有包含在內 ,但訊息內容會多出一些檔案名稱 10/03 16:26 首先,find 會把該目錄底下,所有檔名為 0001.dat 的路徑都列出來 有可能會是 ./0001.dat a/0001.dat another/dir/0001.dat 接著 xargs 會把該檔名路徑傳給後面的 grep,以第一個為例就會變成 grep -i "linux" ./0001.dat 這行指令會把 0001.dat 裡的包括 "linux" 這個字的每一行都列出來,不分大小寫 也就是說如果 0001.dat 的檔案內容為 $ cat 0001.dat line 1 line 2 line 3 LINUX line 4 lInux line 5 輸出結果就會變成 $ grep -i linux 0001.dat line 3 LINUX line 4 lInux 關於所謂「無關緊要的訊息」 1) 先確定你是不是不要區分大小寫? 2) 是不是有很多個 0001.dat 檔案,都包含了 linux 字樣 -- 我想你會衰成這樣都是我害的 ---- Tizzy Mac 緊張的麥金塔?這是誰(._.?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.230.39
peter308:感謝!!!! 10/08 11:32
peter308:沒錯 我有很多類似的檔案 都包含了 linux字樣 10/08 11:33
peter308:但我是指定某個0001.dat檔案 怎麼會列出其他的檔案??? 10/08 11:35