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/'->
awkgolfed: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/'