我正在尝试重新排序写入awk程序的文件的列。该文件看起来像:
我重新排序列的小程序是:
$(document).ready(function() {
$("#modalBtn").click(function() {
$(".modal").fadeIn();
$(".modal_main").show();
return false;
});
});
我想首先列出带有数字的列,然后是剩余的列,但它不起作用
答案 0 :(得分:0)
您在迭代时覆盖字段。您应该将值从column
中的位置“冒泡”到第一个位置。
考虑如何在此处移动第3列:
1 2 3 4
到
3 1 2 4
例如,使用此输入文件:
$ cat table
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
你可以这样做(为了便于阅读,将分隔符更改为空格):
$ awk -v col=3 '{val=$col; for (i=col; i>1; i--) $i=$(i-1); $1=val; print $0}' table
3 1 2 4
4 2 3 5
5 3 4 6
6 4 5 7
答案 1 :(得分:0)
您可以先打印所需的列,然后打印其余列。
<img src="[[changeimg(item.score, item.oldscore)]]">
输入:
$ awk -v column=3 -F "," '{n=column; printf $column; for (i=1; i<NF; i++){if (i!=n) printf ","$i} print ","$NF}' file
输出:
10,Hello,meow,20,30
hello,world,34,meow,60