2011-11-09 32 views

Trả lời

25
grep -v '^string' yourfile.txt > stripped.txt 
+0

thế nào về hiện của cùng một tập tin? – t3hcakeman

+0

Không thể thực sự làm điều đó với grep. nhưng bạn có thể xuất ra một tệp tạm thời, sau đó là 'mv tempfile origfile'. Nếu bạn muốn chỉnh sửa tại chỗ đúng, thì sed/perl/awk sẽ cần được sử dụng. –

+0

Tôi sẽ sử dụng chúng như thế nào? : D – t3hcakeman

26

Để làm điều đó tại chỗ, nếu sed của bạn hỗ trợ các tùy chọn -i, bạn có thể làm:

 
sed -i '/^string/d' input-file 
+2

sed đang mong đợi một phần mở rộng tập tin để sao lưu khi sử dụng '-i', trong OS X, bạn phải rất đơn giản, vì vậy hãy sử dụng dấu nháy đơn:' sed -i '' '/^string/d' input-file' –

+2

Trong OSX, 'sed' mặc định thậm chí không hỗ trợ '-i'! Sở thích cá nhân của tôi là không bao giờ sử dụng '-i' và thực hiện chuyển hướng với trình bao. –

+0

Không có '-e' cần thiết? – Mausy5043

0

sed và grep trong câu trả lời của bạn bị thiếu awk bạn của họ:

awk '!/^string/' inputfile > resultfile 
+1

Tôi cần nó nằm trong cùng một tệp – t3hcakeman

0

Bạn có thể sử dụng Vim ở chế độ Ex:

ex -sc g/^string/d -cx file 
  1. g chọn tất cả các dòng phù hợp với

  2. d xóa

  3. x lưu và đóng

Các vấn đề liên quan