是否可以替换分隔字符串中的字段,以通过其位置对其进行寻址?
aaa;bbb;ccc;ddd;sdfsfsdfsf;2324234234;dfdffdf;
用某些东西替换字段5。
Here is my solution:
To replace a field NN+1 with BLAH in a semicolon delimited string:
sed 's/\(\([^;]\+;\)\{NN\}\)[^;]\+;\(.*\)/\1BLAH;\3/'
for the PCRE variant:
sed -r s/(([^;]*;){NN})[^;]*;(.*)/\1BLAH;\3/g
Thanks!
不是sed ..但..
awk 'BEGIN{FS=OFS=";"} {$5="something"; print $0}' input.txt
这可能适合你(GNU sed):
sed 's/[^;]*/something/5' file
这是我的解决方案:
要用分号分隔的字符串中的BLAH替换字段NN + 1:
sed 's/\(\([^;]\+;\)\{NN\}\)[^;]\+;\(.*\)/\1BLAH;\3/'
对于PCRE变体:
sed -r s/(([^;]*;){NN})[^;]*;(.*)/\1BLAH;\3/g
谢谢!