基本上我有一個目錄和子目錄,需要掃描才能找到.csv文件。從那裏,我想複製包含發現新文件(在相同的目錄原件)從CSV的「富」,但這個名字反映了它在發現文件中的所有行。如何創建包含「foo」的文件行的備份
到目前爲止,我有
find -type f -name "*.csv" | xargs egrep -i "foo" > foo.csv
它產生一個備份文件(foo.csv)與它的一切,它的位置是它的數據的一部分。這兩個我都不想要。
我想要什麼:
例如,如果我有:
csv1.csv
csv2.csv
,他們都具有包含 「foo」 的思路,我想複製到這些線路:
csv1_foo.csv
csv2_foo.csv
除了原始文件中包含「foo」的完整行之外,我沒有在備份中額外輸入任何內容。即我不希望備份數據中的原始文件名稱,這是我當前的代碼所做的。
另外,我想我應該注意到我使用egrep,但我的例子不使用正則表達式。當我將它應用於特定場景時,我將在搜索中使用正則表達式,因此在命名新文件時可能需要考慮這一點。如果這看起來太困難了,一個沒有考慮正則表達式的答案會很好。
提前致謝!
這也可以!如果我使用它,唯一會改變的是將備份保存爲.csv格式。謝謝! – user1792398 2013-04-05 15:20:29
它似乎比我選擇的原始解決方案更適合正則表達式,因此我將我接受的答案轉換爲您的答案。再次感謝! – user1792398 2013-04-05 15:25:59