如何使用grep、cat、vim或其他工具编辑此文件?

如何使用grep、cat、vim或其他工具编辑此文件?,vim,sed,grep,cat,Vim,Sed,Grep,Cat,我的一个哥哥正在学统计学。现在,他正在写他的论文。几乎所有的内容都是为论文而写的。他对计算中使用的每一个值取5个点后数字(例如5.55534)。但是,在最后一次,他的教练说,改变这些点后3个数字(例如5.555),这使我的兄弟陷入了麻烦。手动查找和纠正这些问题并不容易。所以,他让我帮忙 我相信也有一个简单的解决办法,这是我所知道的。论文一部分的快照如下所示- &se($\hat\beta_1$)&0.35581&0.35573&0.35573\\

我的一个哥哥正在学统计学。现在,他正在写他的论文。几乎所有的内容都是为论文而写的。他对计算中使用的每一个值取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语法)


如果任何人有解决方案或建议,请提供。多谢各位

以下是
vim
中的命令:

:%s/\.\d\{3}\zs\d\+//g
说明:
进入命令模式

%
是文件所有行的范围

s
substitution命令

\.\d\{3}\zs\d\+
您要更改的模式

  • \.
    文字点(.)

  • \d\{3}
    匹配3个连续数字

  • \zs
    从这里开始替换

  • \d\+
    一个或多个数字

g
替换行中的所有引用


关于
grep
cat
它们与替换文本无关。这些命令仅用于搜索和打印文件内容

相反,您所看到的是替换Linux中有很多命令主要可以执行
sed
perl
awk
ex
等操作。

在sed中:

$ sed 's/\(\.[0-9]\{3\}\)[0-9]*/\1/g' file
      &se($\hat\beta_1$)&0.355&0.355&0.355\\
                         &mse($\hat\beta_1$)&.129&.129&.129\\

即,用至少3个数字替换以句号开头的数字字符串,并用前导句号和三个第一个数字替换。

。。。?是哪一个?我删除了所有的标签,除了,因为这是一个向上投票的答案。谢谢。这很有帮助,因为我使用vim。如果你能解释你的答案,这对另一个答案也很有帮助。@BandaMuhammadAlHelal我已经编辑了我的答案。希望有帮助!投否决票时发表评论是一种习惯。