2012-11-18 48 views
37

Tôi là người mới sử dụng kịch bản lệnh shell và tôi đang nhầm lẫn về cách sử dụng sed hoặc bất kỳ công cụ nào khác để thay thế dòng đầu tiên trong tệp văn bản của tôi bằng một chuỗi. Dưới đây là nội dung file văn bản:Thay thế dòng đầu tiên trong một tệp văn bản bằng một chuỗi

 
/home/snehil/Desktop/j1/movie.MOV 
"spome other text lines' 

Tôi muốn thay thế dòng đầu tiên (file phim đường dẫn) chỉ với movie.MOV (có thể là một biến trong shell script)

hãy hướng dẫn cho tôi làm thế nào để làm điều này . Tôi đã xem qua số sed trong một số bài đăng, tôi có cần sử dụng sed tại đây không?

Trả lời

73

sed là công cụ thích hợp, hãy thử thực hiện:

var="movie.MOV" 
sed -i "1s/.*/$var/" file.txt 

giải thích

  • 1 nghĩa dòng đầu tiên
  • phần còn lại là sự thay thế s///: chúng tôi thay thế tất cả mọi thứ (*). bởi số $var biến
+1

Bạn cũng có thể sử dụng '1s:. */::' để loại bỏ mọi thứ trừ tên tệp, nếu đó là những gì người hỏi thực sự muốn. –

+1

thử các giải pháp này ... sẽ hoàn nguyên sau một thời gian..thanks !! – Rookie

+0

sửa lỗi chính tả. –

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