Answers:
awk '{print $1, $2, "1"}' inputfile
awk '{print $1, $2, "1"}' inputfile > newfile
尝试
awk '{$3=1 ; print ;}' oldfile > newfile
$3 = 1
将第三个字段设置为1sed
及其-i
就地编辑选项)sed -i 's/[0-9.]*$/1/' file
[0-9.]*$
是从一个序列0
到9
和.
到行的结尾。sed -i 's/[^ ]*$/1/' file
[^ ]*$
除空格外的任何字符,直到行尾。sed 's/[^ ]*$/1/'
->
awk
golfed:awk \$3=1
(POSIX,但不会在/ bin中在Solaris上从70年代awk的工作)
awk
解决方案是真的很酷....你能解释一下PLS
预期输出中的行似乎以两个空格字符结尾,并且各字段由一个制表符和一个空格字符分隔。
如果确实是您想要的,那么您将需要:
awk -v 'OFS=\t ' '$3="1 "' < infile > outfile
或搭配sed
:
tab=$(printf '\t')
sed "
s/[[:blank:]]\{1,\}/$tab /g
s/[^[:blank:]]\{1,\}[[:blank:]]*$/1 /
s/^[[:blank:]]*//" < infile > outfile
这将完成工作:
cat textfiles | cut -d' ' -f-2 | sed 's/$/ 1/'