2014-03-13 62 views
1

我正在嘗試編輯文件而不創建新文件,我需要更改一行中的數字。如何使用bash編輯文件中的行

這是我到目前爲止有:

less php.ini | grep "upload_max_filesize"| xargs sed sed -e "s/upload_max_filesize=10M/150M/ > php.ini 

,但它只是把我送到>

文件中的行目前的樣子:

;上傳文件的最大允許大小。 ; http://php.net/upload-max-filesize 的upload_max_filesize = 10M

回答

3

您已經超出了需要複雜的事情:

sed -i '/upload_max_filesize/s/= *10M/=150M/' php.ini 

應該足夠了。

(傳遞grep輸出尋呼機,即less,輸入xargs沒有任何意義。)

+0

感謝在清除了,但是當我輸入,它不更改文件,它仍然說: upload_max_filesize = 10M –

+0

@ user3186363這應該起作用。更新你的問題,在你的輸入文件中包含一些相關的行。 – devnull

+0

@ user3186363您的輸入在'='周圍包含空格。上面的編輯應該適合你。 – devnull