sed-bin 项目使用指南
sed-binsed to C translator written in sed项目地址:https://gitcode.com/gh_mirrors/se/sed-bin
项目介绍
sed-bin
是一个将 sed
脚本翻译成 C 代码并编译成二进制文件的项目。通过这种方式,可以生成一个与原始 sed
脚本行为完全相同的二进制文件,从而提高执行效率。该项目使用 sed
自身编写翻译器,实现了从 sed
到 C 代码的转换。
项目快速启动
克隆项目
首先,克隆 sed-bin
项目到本地:
git clone https://github.com/lhoursquentin/sed-bin.git
cd sed-bin
生成二进制文件
使用以下命令生成二进制文件:
sed -f par-sed < samples/generate-table-of-contents.sed > generated.c
make
使用二进制文件
生成的二进制文件名为 sed-bin
,可以使用它来替换 sed
命令:
echo foo | ./sed-bin s/foo/bar/
应用案例和最佳实践
生成 Markdown 文件的目录
以下是一个生成 Markdown 文件目录的 sed
脚本示例:
#!/bin/sed -f
# Generate table of contents with links for markdown files
# Usage: sed -f <this-script> <markdown file>
# ignore code blocks
/^```/ {
:a
n
/^```/! ba
}
# no need to index ourselves
/^# Table of contents/d
# found heading
/^#/ {
# save our line and first word
h
s/^#*\s*//
s/\s.*//
y/ /-/
s/.*/* [&](#&)/
G
s/\n/ /
p
d
}
将此脚本保存为 generate-toc.sed
,然后使用 sed-bin
生成目录:
./sed-bin -f generate-toc.sed < README.md
典型生态项目
sed-bin
项目可以与其他文本处理工具和脚本结合使用,例如 awk
、grep
和 perl
。这些工具可以进一步增强文本处理的灵活性和功能性。例如,结合 awk
进行复杂的数据处理:
cat data.txt | ./sed-bin s/foo/bar/ | awk '{print $1, $3}'
通过这种方式,sed-bin
可以成为文本处理工作流中的一个强大组件。
sed-binsed to C translator written in sed项目地址:https://gitcode.com/gh_mirrors/se/sed-bin