Câu trả lời:
sed -e "\$aTEXTTOEND"
là cách đơn giản nhất.
$
khớp với dòng cuối cùng (đó là một sed
địa chỉ bình thường ; 4aTEXTTOEND
sẽ chèn sau dòng thứ tư), a
là lệnh chắp thêm và TEXTTOEND
là những gì cần nối thêm.
sed -e '$a\NEWLINE\\'
. Thay thế NEWLINE bằng một dòng mới thực tế.
Không cần sử dụng sed
trong trường hợp đó. Làm thế nào về
echo "<?php" >> file
<php
" và " >
" và trích dẫn tất cả các nội dung được chọn trong một lần, vì vậy anh ta thực sự muốn có một sed
đoạn.
sudo
, điều này khiến cho biến thể này không thành công vì đó echo
là lệnh shell được tích hợp thay vì tệp thực thi được tìm thấy trong$PATH
echo
là một tệp tích hợp nhưng cũng là một tệp thực thi được tìm thấy trong$PATH
Giả sử bạn muốn đặt thẻ php kết thúc vào các tệp, sau đó
sed -i '$s/$/\n?>/' file
nên làm mánh khóe
Xem bài viết gốc của bạn cho tất cả trong một lệnh sed.
find . -type f -exec sed -i -e "1s/^/<?php /" -e "\$s/\$/ ?>/" {} \;
Sử dụng lệnh sed 'append (a)'. Ví dụ: để nối hai dòng ở cuối tệp:
sed -i -e '$a\
foo1 bar1\
foo2 bar2' file
Một cách đơn giản để viết và thực hiện các thay đổi trong nội dung tại một dòng cụ thể trong một tệp. Nếu bạn muốn chèn bất cứ thứ gì vào một số dòng cụ thể thì có thể sử dụng lệnh bên dưới:
sed -i '2i i have started' sheikh.log
trong đó 2i
- dòng số 2 và i là viết tắt của chèn. Nếu bạn phải chèn ở dòng cuối cùng thì sử dụng $
ở vị trí 2. tôi đã bắt đầu - văn bản được chèn và sheikh.log
là tên tệp.
Chúng tôi cũng có thể thực hiện các thay đổi trong dòng bằng cách sử dụng lệnh dưới đây
sed -i '2c we have started' sheikh.log
i
được đổi thành we
.
{ cat file; echo 'END OF FILE'; } > newFile
, điều này cũng hoạt động nhờ sh. *. (không phải sed nhưng hoạt động và đơn giản)