趣味-删除文件一个文件中的固定列

趣味-删除文件一个文件中的固定列

夜无邪 发布于 2017-03-29 字数 65 浏览 1089 回复 3

一个文件有N列(N>100),删除其中第3,4,7列,有什么方法

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜柠檬 2017-09-23 3 楼

cat 1.txt

col1,col2,col3,col4,col5,col6,col7,col8
V1,V2,V3,V4,V5,V6,V7,V8
W1,W2,W3,W4,W5,W6,W7,W8

awk -F',' 'BEGIN{OFS=","}{$3="";$4="";$7="";print}' 1.txt|sed 's/,{2,}/,/g;s/,$//;s/^,//'

 col1,col2,col5,col6,col8
V1,V2,V5,V6,V8
W1,W2,W5,W6,W8

想挽留 2017-08-02 2 楼

比如将文件第20列删除,可以使用以下脚本执行:
awk '{$10=$10"-";for(i=1;i<=NF;i++)if(i!=L)printf $i" "}{printf "n"}' file
其中把L修改成20就可以了,具体如下
awk '{$10=$10"-";for(i=1;i<=NF;i++)if(i!=20)printf $i" "}{printf "n"}'

偏爱自由 2017-06-03 1 楼

那啥, 我来用perl凑个数哈.
perl -i.bak -lane 'print join " ", @F[0,1,4,5,7..$#F];' file