如何使用sed动态替换行中特定位置字符?
希望编写一个shell脚本实现对一个单行长数据串按照指定列宽自动换行显示例如:1)先产生一个单行长字符串$primes10023571113171923293137414...
希望编写一个shell脚本实现对一个单行长数据串按照指定列宽自动换行显示
例如:
1)先产生一个单行长字符串
$ primes 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2)令这个数据串按照每行十列显示
$ primes 100 | sed 's/\t/\n/10;s/\t/\n/19'
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
打算使用for语句实现对行中特定位置的制表符"\t"进行替换
Number=`wc -w $1 | awk '{print $1}'`
for i in `seq 10 10 $Number`
do
j=0
sed 's/\t/\n/$(($i-$j))' $1
let j+=1
done
但是sed不支持在替换命令中使用变量指定替换字符出现的次数! [囧]
请教该如何处理?使用sed或者awk都行 展开
例如:
1)先产生一个单行长字符串
$ primes 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2)令这个数据串按照每行十列显示
$ primes 100 | sed 's/\t/\n/10;s/\t/\n/19'
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
打算使用for语句实现对行中特定位置的制表符"\t"进行替换
Number=`wc -w $1 | awk '{print $1}'`
for i in `seq 10 10 $Number`
do
j=0
sed 's/\t/\n/$(($i-$j))' $1
let j+=1
done
但是sed不支持在替换命令中使用变量指定替换字符出现的次数! [囧]
请教该如何处理?使用sed或者awk都行 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询