我正在尝试增加第三行的最后一个字符
这是我的输入文件
const sinon = require('sinon');
const chai = require('chai');
const expect = chai.expect;
const mongoose = require('mongoose');
// Monck mongodb Models
require('sinon-mongoose');
const Car = require('../../models/Car');
describe('PUT /cars/:id', () => {
it('Should update a car successfully', (done) => {
const updateBody = {
name: 'new car name',
}
const CarMock = sinon.mock(Car);
const car = CarMock.object;
const expectedResult = {
statusCode: 200
}
const id = mongoose.Types.ObjectId();
CarMock.expects('findOneAndUpdate').withArgs({_id: id}, updateBody).yields(null, expectedResult);
car.findOneAndUpdate(id, updateBody, (error, res) => {
if (error) done(error)
CarMock.verify();
CarMock.restore();
expect(res.statusCode).to.equal(200);
done();
})
})
})
这将是输出文件
33981 Juan Robles Garcia 5 1
33982 Lucas Robles Garcia 3 0
33983 Alba Robles Garcia 3 0
答案 0 :(得分:9)
如果当前行是第三行(NR == 3),则在最后一列($ NF)中将值递增1。无论如何,输出整行(打印)。
在任何情况下,都会打印整行。
awk '{if (NR==3) {$NF++}; {print}}' file
或更短
awk 'NR==3 {$NF++} {print}' file
或更短
awk 'NR==3 {$NF++}1' file
输出:
33981 Juan Robles Garcia 5 1 33982 Lucas Robles Garcia 3 0 33983 Alba Robles Garcia 3 1
请参阅:8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR