sed:如何更改文件中最后一列的值?

sed:如何更改文件中最后一列的值?,sed,Sed,我有一个文件如下所示: fid1 iid1 0 0 1 1 fid2 iid2 0 0 2 -9 fid3 iid3 0 0 1 1 . . 如何使用sed将最后一列中的所有值更改为2?尝试以下操作: $ sed 's/\S*$/2/' yourfile \S表示非空白,$表示行尾 另一个解决方案 $ sed 's/\S\+$/2/' yourfile (在sed中,+必须转义)cat测试*| sed的/(..)(..)(*)/\1/\2/\3/' 07/23/20130622005020

我有一个文件如下所示:

fid1 iid1 0 0 1 1
fid2 iid2 0 0 2 -9
fid3 iid3 0 0 1 1
.
.
如何使用sed将最后一列中的所有值更改为2?

尝试以下操作:

$ sed 's/\S*$/2/' yourfile
\S
表示非空白,
$
表示行尾

另一个解决方案

$ sed 's/\S\+$/2/' yourfile
(在
sed
中,
+
必须转义)

cat测试*| sed的/(..)(..)(*)/\1/\2/\3/'

07/23/2013062200502022001 10/02/2004,09142000,03032004
11/23/2008125200206122005

你能解释一下这个答案吗?不同的参数做什么,正则表达式做什么,等等。同样,在你发布答案之前检查你的格式。我不认为您打算拥有这么长的数字字符串,我也不认为您的正则表达式看起来是正确的(即使由于标记,它输入正确)。