Tôi có một tập tin txt
123
456
789
456
123456
Tôi muốn xóa các ký tự cụ thể khỏi tệp tức là (123). Tôi đã thử với
$ sed -i '/123/d' dummy.sh
$ vi dumm.txt
456
789
456
Trong lệnh dưới đây khi tôi chạy cả hai từ ( 123
và 123456
) đang bị xóa nhưng tôi chỉ cần xóa 123
khỏi tệp
$ sed -i 's/123//g' dummy.sh
$ vi dumm.txt
456
789
456
456
Khi tôi chạy lệnh dưới đây, 123
nó sẽ được thay thế bằng null.
Bất cứ ai cũng có thể nói làm thế nào để xóa toàn bộ một dòng nếu nó chỉ chứa số cụ thể?
2
Nói một cách dễ hiểu - mỏ neo
—
thép
tôi không nhận được những gì bạn đang hỏi?
—
Rak kundra
Lưu ý rằng mặc dù sử dụng sed cho tác vụ này là hoàn toàn ổn, grep là công cụ được tạo riêng để hiển thị hoặc ẩn các dòng đầu vào khớp với mẫu. Trong trường hợp này, lệnh grep sau sẽ thực hiện tương tự: grep -E -v '^ 123 $' dumm.txt
—
Gnudiff
@Gnudiff Tôi không thấy bất kỳ lợi thế nào
—
Philippos
grep
nếu bạn sử dụng là như thế. Nhưng nó có thể vượt trội hơn đối với một số nhiệm vụ do các tùy chọn của nó:grep -xv 123