shell中如何指定位置替换字符串 aix shell脚本如何实现将文本中每一行第10列到20列之间含有|的替换成/,谢谢各位大侠! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用awk并用其内建函数gsub Administrator@SKY-20150322QZZ MINGW32 ~/Desktop$ cat test.in1 2 3 4 5 6 7 8 9 10 11| 12 13 14 15 16|| 17 18 19 20 21| 22 231 2 3 4 5 6 7 8 9 1| 11 12 13 14 || 16 17| 18 19 20 ||21 22 23Administrator@SKY-20150322QZZ MINGW32 ~/Desktop$ cat test.in | awk '{ split($0,a," "); i = 1; while (i <= length(a)) {if (i >= 10 && i <= 20) gsub(/\|/, "/", a[i]); printf a[i] " "; i++;} printf"\n" }'1 2 3 4 5 6 7 8 9 10 11/ 12 13 14 15 16// 17 18 19 20 21| 22 231 2 3 4 5 6 7 8 9 1/ 11 12 13 14 // 16 17/ 18 19 20 ||21 22 23Administrator@SKY-20150322QZZ MINGW32 ~/Desktop | 1 |180118|180118|bgykabcd| |223320181000077286-A01/bgykabcd/bgykabcd|2233| 448.35| | 16,519,685.66|06015/9880810/110450556|bgykabcd | | | | | | |20181000077286-A01 | | | | | |谢谢指点,我是这样的数据,36-80列的|需要替换成/,不是固定的空格分隔 首先awk 将每一列分为三段0-35,36-80,81-end ,然后第二段调用replace函数,最后,整合输出... linux内存管理 C语言多线程使用同一线程函数,传递的结构体参数会相互影响 linux与windows双系统启动界面出现的问题 我小白一个 想问问终端怎么下载 jenkins构建无法成功,提示chrmod找不到 请教各位大神 linux命令制作脚本 请教unix下find时怎么用正则 ubuntu12.04(32位)无法登陆图形界面,只能通过Ctrl+Alt+F1后输入用户名密码登陆 求shell编程思路 vim编译,如何加入某种特性 修改密码进入SLINUX遇到的问题
$ cat test.in
1 2 3 4 5 6 7 8 9 10 11| 12 13 14 15 16|| 17 18 19 20 21| 22 23
1 2 3 4 5 6 7 8 9 1| 11 12 13 14 || 16 17| 18 19 20 ||21 22 23Administrator@SKY-20150322QZZ MINGW32 ~/Desktop
$ cat test.in | awk '{ split($0,a," "); i = 1; while (i <= length(a)) {if (i >= 10 && i <= 20) gsub(/\|/, "/", a[i]); printf a[i] " "; i++;} printf"\n" }'
1 2 3 4 5 6 7 8 9 10 11/ 12 13 14 15 16// 17 18 19 20 21| 22 23
1 2 3 4 5 6 7 8 9 1/ 11 12 13 14 // 16 17/ 18 19 20 ||21 22 23Administrator@SKY-20150322QZZ MINGW32 ~/Desktop
| | | | | |20181000077286-A01 | | | | | |谢谢指点,我是这样的数据,36-80列的|需要替换成/,不是固定的空格分隔