2009-08-11 31 views
7

Tôi đang làm việc trên một tập lệnh bash cần phải lấy một dòng và thêm nó vào cuối một tập tin nếu nó tồn tại, và nếu nó không tồn tại tạo ra các tập tin với hàng.Thêm vào tập tin nếu tồn tại và tạo ra nếu không

tôi có cho đến nay:

if [ ! -e /path/to/file ]; then 
    echo $some_line > /path/to/file 
else 
    ??? 
fi 

Làm thế nào để thực hiện các hoạt động mà nên đi vào khác (thêm dòng văn bản vào tập tin hiện có)?

Trả lời

14

Sử dụng hai góc độ: echo $some_line >> /path/to/file

9

> tạo ra các tập tin nếu nó không tồn tại; nếu nó tồn tại, ghi đè lên nó.

>> tạo tệp nếu nó không tồn tại; nếu nó tồn tại, gắn thêm vào nó.

if [ ! -e /path/to/file ]; then 
    echo $some_line > /path/to/file 
else 
    echo $some_line >> /path/to/file 
fi 
+2

chỉ sử dụng echo $ some_line >>/path/to/file sẽ đủ vì >> tạo tệp nếu nó không tồn tại – ghostdog74

+0

Có bạn đã đúng. Tôi đã đưa mẫu cho Mark Roddy như anh ấy đã làm. – firstthumb

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