subst - 替换文件中的定义
总览 (SYNOPSIS)
subst [ -e editor ] -f substitutions victim ...
描述 (DESCRIPTION)
Subst 能够 替换 文件 的 内容, 适用于 针对 本地情况 定制 软件. 它 根据 substitutions 的 内容, 修改 每一个 victim 文件.
在 substitutions 文件 中, 每个 替换说明(substitution) 占用 一行. 每一行 包含 两个域, 用 一个或多个 tab 符 隔开. 第一个 域 是 替换说明 的 名字(name), 第二个 域 是 它的 值(value). 两者 均不应该 包含 ``#'' 字符; 而使用 文本编辑器 的 转义符, 如 ``&'' 和 ``\'', 也是 不明智地; 名字 最好 限制在 字母和数字 中; 以 ``#' 开始 的 行 是 注释, 将被 忽略.
在 victim 文件 中, 每一个 需要 替换 的 行 (目标行) 必须 跟在 原形行(prototype line) 后面. 原形行 应该 有 这样 的 限制: 将来 其他 程序处理 这个文件 的 时候, 它 被视为 注释. 原形行 必须 包含 目标行 的 "原形", 该 "原形" 用 ``=()<'' 和 ``>()='' 括起来, 这一行 的 其他内容 都被 忽略掉. Subst 将 分析 这个原形, 寻找 替换说明 中 名字域 的 所有 实例, 名字实例 是用 ``@<'' 和 ``>@'' 括起来的, 把 它们 改变成 对应的值, 然后 用这个 结果 替换目标行.
选项 (OPTIONS)
- -e
- 替换 操作 由 sed(1) 编辑器 完成, 它 必须 放在 /bin 或 /usr/bin 目录 下面. 用 ``-e'' 开关 可以 指定 一个 不同位置 的 执行程序.
示例 (EXAMPLE)
如果 substitutions 文件内容 是
-
FIRST 111
SECOND 222
而 victim 文件 是
-
x = 2;
/* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
y = 88 + 99;
z = 5;
那么 ``subst -f substitutions victim'' 命令 把 victim 改变成:
-
x = 2;
/* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
y = 111 + 222;
z = 5;
文件 (FILES)
victimdir/substtmp.new 建立出来的新版本文件
victimdir/substtmp.old 经过改名的老版本文件
subst - 替换文件中的定义的更多相关文章
- linux 小技巧(查找替换文件中的ascii编码字符)
这里纪录一些linux下用到的小技巧,以免遗忘 在linux中经常碰见各种文件处理.最常用的就是替换文件中的某些字符.常见字符替换还是很容易完成.但是有些不可见字符以及ascii编码字符等等都无法直接 ...
- 用python 替换文件中的git地址
有个需求要替换文件中git地址,要替换成的git地址是一个变量 本来想用sed替换但是git地址中有斜杠符号 需要转义,提前知道还好弄,如果是变量就不好处理了 #!/usr/bin/python3 # ...
- linux sed 批量替换文件中的字符串或符号
sed -i :直接修改读取的文件内容,而不是输出到终端. sed -i 就是直接对文本文件进行操作的 替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件 ...
- 使用 sed 命令查找和替换文件中的字符串的 16 个示例
当你在使用文本文件时,很可能需要查找和替换文件中的字符串.sed 命令主要用于替换一个文件中的文本.在 Linux 中这可以通过使用 sed 命令和 awk 命令来完成. 在本教程中,我们将告诉你使用 ...
- linux shell 脚本获取和替换文件中特定内容
1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) timeout title live find --se ...
- shell 脚本替换文件中某个字符串
1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将 ...
- grep和sed替换文件中的字符串
sed -i s/"str1"/"str2"/g `grep "str1" -rl --include="*.[ch]" ...
- shell脚本替换文件中字符
1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将 ...
- python 之文本搜索与替换文件中的文本
#!/usr/local/env python import os, sys nargs = len(sys.argv) if not 3 <= nargs <= 5: print &qu ...
随机推荐
- layui修改表格行高
.layui-table-cell { height: auto !important; white-space: normal; }
- Guacamole 远程桌面
本文将Apache的guacamole服务的部署和应用,http://guacamole.apache.org/doc/gug/ 该链接下有全部相关知识的英文文档,如果水平ok,可以去这里仔细查看. ...
- 最长上升子序列(LIS)长度及其数量
例题51Nod-1376,一个经典问题,给出一个序列问该序列的LIS以及LIS的数量. 这里我学习了两种解法,思路和代码都是参考这两位大佬的: https://www.cnblogs.com/reve ...
- egg 连接mysql 在mysql 插入数据
1.配置mysql exports.mysql = { enable: true, package: 'egg-mysql' }; 'use strict'; module.exports = app ...
- JavaSE---多线程---线程通信
1.概述 1.1 由于多线程之间共享父进程的资源,可以非常方便的共享数据,这才是多个线程通信的最好方式: 当然Java也提供了协调线程运行的支持: 1.2 线程的执行具有随机性,在实际业务中,比如有2 ...
- 【MySQL】mysql查询强制大小写及替换字段
强制大小写 select * from test where name like BINARY '%Adc%' mysql替换字段 update test set name= REPLACE (nam ...
- python 的按位与、或、异或 运算
符号 描述 运算规则 by MoreWindows & 与 两个位都为1时,结果才为1 (统计奇数) | 或 两个位都为0时,结果才为0 ...
- Linux系统之-介绍,主要特性
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位 ...
- [CSP-S模拟测试]:工业题/a(数学)
题目传送门(内部题39) 输入格式 第一行:四个正整数$n$.$m$.$a$.$b$.第二行:$n$个正整数,第$i$个表示$f(i,0)$.第三行:$m$个正整数,第$i$个表示$f(0,i)$. ...
- 聊一聊 http2.0
1. 我们认识http 协议,从最初的,客户端与服务器进行通讯,基于连接发生的请求与响应 在HTTP1.0时代,连接无法复用,每次下完单,都被强制登出/关机,下一次下单,就得重新登录. 为了解决htt ...