用非手动方式。例如
abc abc 123 123 asd ahg 56 789 esh huh 788 789
转化为:
1 2 3 4 abc abc 123 123 asd ahg 56 789 esh huh 788 789
awk Linux perl cat
line=$(head -1 sample.txt|awk '{for (i = 1; i < NF; i++){printf i "\t"} print NF}') sed -i "1i$line" sample.txt
sed '1 i1\t2\t3\t4' -i 文件名
擦,这种写法似乎和手工差不多啊
可以试试下面的思路:
head -1 文件名 | gawk '{print NF}' 显示列数 head -1 | sed 's/$/&\tn/g' -i 文件名 在行末添加制表符; n 表示添加第几列的列数
然后 在shell脚本中 判断列数 结合 for 循环 应该能解决
linux怎么把一行中指定字符串以外的字符都去掉只显示指定字符串?
Perl:Linux中安装DBI、DBD等都被装到哪去了呢?
shell怎么多行并作一行处理?
perl调用mysql时出现的错误——*** glibc detected *** perl:...
linux下使用perl版 rename命令 批量修改文件名该如何做
怎么修改匹配到的模式?
学习Linux的几点建议
最先进的战舰也使用Linux