簡(jiǎn)介
sd 是一個(gè)基于正則表達(dá)式的搜索和替換文本的命令行工具,類似于 sed,但 sd 使用更簡(jiǎn)單,對(duì)用戶更為友好。
首次用戶快速上手
-
使用
x sd
即可自動(dòng)下載并使用- 在終端運(yùn)行
eval "$(curl https://get.x-cmd.com)"
即可完成 x 命令安裝, 詳情參考 x-cmd 官網(wǎng)
- 在終端運(yùn)行
-
x-cmd 提供1分鐘教程,其中包含了 sd 命令常用功能的 demo 示例,可以幫你快速上手 sd 。
-
使用案例:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-795112.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-795112.html
# 從 stdin 中獲取數(shù)據(jù)并將其中的逗號(hào)替換為換行符 echo 'before, after' | x sd ',' '\n' # 從包含斜杠的字符串中提取內(nèi)容 echo "sample with /path/" | x sd '.*(/.*/)' '$1' # 將字符串中的數(shù)字用括號(hào)括起來(lái) echo 'f(x) = 4x + 12' | x sd '(\d+)' '($1)' # 對(duì)文件內(nèi)容進(jìn)行查找替換后輸出到 stdout ,而不寫入文件中 x sd -p temp i path/file # 對(duì)文件內(nèi)容進(jìn)行查找替換并保存到文件中 x sd temp i path/file
主要特點(diǎn)
- 使用通用正則表達(dá)式語(yǔ)法(與 JavaScript 和 Python 中的正則類似的語(yǔ)法)。相比之下,sed 使用的正則表達(dá)式比較別具一格,給用戶帶來(lái)額外的學(xué)習(xí)成本和維護(hù)難度。
- sd 還支持字符串文本模式進(jìn)行查找和替換。
- 易于書寫,易于閱讀,易于維護(hù)。查找和替換表達(dá)式是分開的,這樣您就不再需要使用反斜杠或記住哪些字符是特殊的需要轉(zhuǎn)義的。
- 相比 sed,其默認(rèn)設(shè)置往往更適用大多數(shù)典型場(chǎng)景。以最經(jīng)典的從配置文件替換相應(yīng)的值為例。
- sd 默認(rèn)就是支持的:
sd before after file.txt
,簡(jiǎn)潔直觀 - 在 sed 中,需額外采用
-i
這個(gè)參數(shù):sed -i -e 's/before/after/g' file.txt
- sed 之所以略為麻煩,是因?yàn)槠涔艿纼?yōu)先的設(shè)計(jì)理念,輸出是默認(rèn)到標(biāo)準(zhǔn)輸出。而 sd 則是默認(rèn)直接修改文件,這樣更符合用戶的直覺(jué)。
- sd 默認(rèn)就是支持的:
- sd 使用 rust 編寫,性能優(yōu)秀。在部份場(chǎng)景上,sd 甚至有相對(duì) sed 更好的效率,詳情請(qǐng)參考官方提供的 Benchmark。
進(jìn)一步閱讀
- 項(xiàng)目托管在 GitHub 上,里面的 README 文檔提供了詳細(xì)的參數(shù)功能和使用說(shuō)明
- 如果你想要學(xué)習(xí)如何在 Linux 上使用 sd 命令查找和替換,可以參考這篇文章 linux-sd-command
- sd vs sed 是官方提供的對(duì)比文檔,可以幫助你更好的理解 sd 的特點(diǎn)。
到了這里,關(guān)于x-cmd pkg | sd - sed 命令的現(xiàn)代化替代品的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!