導航:首頁 > 程序命令 > sed命令錯誤

sed命令錯誤

發布時間:2023-03-28 08:09:22

㈠ sed -i .bak 's/this/the/' d 這條命令有錯誤嗎

這是很早之前的一個問答了,但我想提問者並沒有真正的搞清楚原因,而採納的答案我想也並不是你想要的,這里我想說下我的答案。

查看$ man sed,可以看到裡面對於-i選項這么寫的:

-i[SUFFIX],--in-place[=SUFFIX]
editfilesinplace(makesbackupifSUFFIXsupplied)

所以可以知道出現問題的原因在於,你的命令中-i和後面的.bak之間多了一個空格,正確的寫法應該是沒有空格的,如下:

sed-i.bak's/this/the/'d

你可以試下,想必可以得到你期待的結果。另外.bak也可以用.和其它的任意文本結合使用,比如.backup或者.log 等等都是可以的。

希望可以幫助到以後還遇到這個問題的人。

㈡ sed命令在macOS Seirra上報錯sed: -i may not be used with stdin

MacOS使用的是sed的BSD版本,它對-i選項答核的處理略有不同。

sed -i需要帶一個局飢字元串作為備份源文件的文件名稱,如果這個字元串長度為0,則不備份。

例如修改filename.txt,清臘掘

使用命令格式:sed -i "_bak" '動作' filename.txt

輸出為filename.txt_bak(同原文件)和filename.txt(修改後的文件)。

如果不想輸出備份文件:sed  -i  ""  '動作'  filename.txt

參考文章:https://blog.csdn.net/fdipzone/article/details/51253955

㈢ 關於Linux里的sed命令。

Sed is a nondestructive editor. It will display the edits you make on your screen, but it will not change the file you are editing. To really reflect the edits in the file, you must redirect the output to another file, and then rename the orginal file
sed的特點就是非破壞(nondestructive),流水行(streamlined),非交互(noninteractive)的編輯器。
非破壞就是指不會修改原文件,它會將修改的結果標准輸出到屏幕上,你如果想保存,需要使用IO重定向的方式保存:
如:
sed 『s/home/home1』 1.txt >2.txt
這樣做的原因是,如果你修改了原文件的話,你沒法使用word,vim,txt的undo功能撤銷修改,恢復原來的文件。所以,sed會將修改之後的文件輸出到屏幕,你看到修改滿意的話,再重定向到其他文件。就完成了修改。明白否?
-e是啟用多行命令 上述兩條編輯命令都是一行命令,所以看不出效果。

閱讀全文

與sed命令錯誤相關的資料

熱點內容
國企保底工資演算法 瀏覽:729
視聽說伺服器地址是什麼意思 瀏覽:657
一部男主叫大志的電影叫 瀏覽:650
安卓反編譯後編譯不回來 瀏覽:195
快穿肉文推薦 瀏覽:263
lol新手推薦什麼伺服器 瀏覽:283
尼桑奇駿壓縮機 瀏覽:170
android模態對話框 瀏覽:793
手機為什麼無法接到伺服器 瀏覽:627
背景虛化人物清晰哪個app 瀏覽:657
android開發職位 瀏覽:764
勒索病毒加密文件特徵識別 瀏覽:815
小車控制源碼 瀏覽:9
程序員右手筋脈疼痛沒力 瀏覽:841
手機視頻太大如何壓縮 瀏覽:555
出租伺服器怎麼用 瀏覽:229
鬼六所有的電影 瀏覽:968
java集成spring 瀏覽:352
壯熊警察李鐵峰小說 瀏覽:731
幕川北玩的什麼伺服器 瀏覽:475