2021SC@SDUSC
minimal-build.sh的代码如下:
#!/bin/bash
# encoding: utf-8
script_dir="$(dirname "$0")"
output_dir="$1"
for package in essay luna-pinyin prelude; do
bash "${script_dir}"/install-packages.sh "${package}" "${output_dir}"
done
pushd "${output_dir}" > /dev/null
awk '($2 >= 500) {print}' essay.txt > essay.txt.min
mv essay.txt.min essay.txt
sed -n '{
s/^version: \(["]*\)\([0-9.]*\)\(["]*\)$/version: \1\2.minimal\3/
/^#以下爲詞組$/q;p
}' luna_pinyin.dict.yaml > luna_pinyin.dict.yaml.min
mv luna_pinyin.dict.yaml.min luna_pinyin.dict.yaml
for schema in *.schema.yaml; do
sed '{
s/version: \(["]*\)\([0-9.]*\)\(["]*\)$/version: \1\2.minimal\3/
s/\(- stroke\)$/#\1/
s/\(- reverse_lookup_translator\)$/#\1/
}' ${schema} > ${schema}.min
mv ${schema}.min ${schema}
done
ls *.schema.yaml | sed 's/^\(.*\)\.schema\.yaml/ - schema: \1/' > schema_list.yaml
grep -Ff schema_list.yaml default.yaml > schema_list.yaml.min
mv schema_list.yaml.min schema_list.yaml
sed '{
s/^config_version: \(["]*\)\([0-9.]*\)\(["]*\)$/config_version: \1\2.minimal\3/
/- schema:/d
/^schema_list:$/r schema_list.yaml
}' default.yaml > default.yaml.min
rm schema_list.yaml
mv default.yaml.min default.yaml
popd > /dev/null
编码为utf-8位编码。开头先为script_dir和output_dir赋值。
进入循环,重新打开3个shell窗口。跳出循环。将要输出的目录文件添加到目录栈的头部。然后重定向到空设备文件。
接下来进行若干格式的匹配。
最后是将schema_list.yaml文件删除。
最后将栈头的目录文件pop出来。