我尝试在每行的末尾为dir中的每个文件添加一个数字并更新它。 让我们说:第一个文件从1开始,第二个文件从2开始,依此类推。
我使用的脚本如下:
var reqs = [];
var skipArray = ['123', '456']; // input values that equal no charge
$('#myForm').submit(function(e){
$('#myForm select').each(function (key, elm) {
$elm = $(elm);
if ($.inArray($elm.val(), skipArray) !== -1) {
// No charge.
} else {
reqs.append(onFormSubmit(data, function (result) {
console.log(result);
}));
}
});
e.preventDefault();
});
var onFormSubmit = function(data, callback){
// ajax call
}
我强硬的命令就是这样:在文件$ filename的每行末尾添加一个空格和一个数字。每次使用条件#!/bin/bash
n=1
for filename in $HOME/path/to/direc/*
do
sed -i 's/$/ $(($n + 1))/g' $filename
done
更新该数字。
相反,它会在每个文件的每一行的末尾打印出来:" $(($ n + 1))" ...
'空间'在开始时没关系,但不是数字。
非常感谢。
答案 0 :(得分:3)
Bash不会用单引号插入字符串。请改用双引号。
此外,不需要/g
,因为$
每行只能匹配一次。
要更新变量值,您需要为其指定新值
$(( n = n + 1 ))
或更短
$(( n += 1 ))
或者更短的
$(( n++ ))