我在统计学院学习的一位哥哥。现在,他正在LaTeX撰写论文。几乎所有的内容都是为论文写的。并且他为每个用于计算的值取了5个数字(例如5.55534)。但是,最后一次他的导师说要将那些改为3点(例如5.555),这让我的兄弟陷入困境。手动查找和纠正这些并不容易。所以,他告诉我帮忙。
我相信我也知道一个简单的解决方案。论文的一部分快照看起来像 -
&se($\hat\beta_1$)&0.35581&0.35573&0.35573\\
&mse($\hat\beta_1$)&.12945&.12947&.12947\\
\addlinespace
&$\hat\beta_2$&0.03329&0.03331&0.03331 \\
&se($\hat\beta_2$)&0.01593&0.01592&0.01591\\
&mse($\hat\beta_2$)&.000265&.000264&.000264 \\
\midrule
{n=100} & $\hat\beta_1$&-.52006&-.52001&-.51946\\
&se($\hat\beta_1$)&.22819&.22814&.22795\\
&mse($\hat\beta_1$)&.05247&.05244&.05234\\
\addlinespace
&$\hat\beta_2$&0.03134&0.03134&0.03133 \\
&se($\hat\beta_2$)&0.00979&0.00979&0.00979\\
&mse($\hat\beta_2$)&.000098&.000098&.000098
我想要 -
&se($\hat\beta_1$)&0.355&0.355&0.355\\
&mse($\hat\beta_1$)&.129&.129&.129\\
......................................................................
........................................................................
........................................................................
注意:不要觉得无聊的语法(这些是LaTeX语法)。
如果有人有解决方案或建议,请提供。谢谢。
答案 0 :(得分:2)
在sed:
existingObject(with:)
即。将具有至少3个数字的数字字符串替换为具有前导句点和三个第一个数字的句点。
答案 1 :(得分:1)
以下是vim
中的命令:
:%s/\.\d\{3}\zs\d\+//g
:
进入命令模式
%
是文件所有行的范围
s
替换命令
\.\d\{3}\zs\d\+
模式
\.
文字点(。)
\d\{3}
匹配3位连续数字
\zs
从此处开始替换
\d\+
一个或多个数字
g
替换行
关于grep
和cat
,它们与替换文字无关。这些命令仅用于搜索和打印文件内容。
相反,你正在寻找的是替换 Linux中有很多命令可以做到这一点,主要是sed
,perl
,awk
,{{ 1}}等等。