本文介绍了aws中的OFS问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含此字符串(字段分隔符是百分号),存储在名为data的变量中
I have a string containing this (field separator is the percentage sign), stored in a variable called data
201%jkhjfhn%kfhngjm%mkdfhgjdfg%mkdfhgjdfhg%mkdhfgjdhfg%kdfhgjgh%kdfgjhgfh%mkfgnhmkgfnh%k,gnhjkgfn%jkdfhngjdfng
我正在尝试打印出用字符串代替百分号的字符串,但它似乎比我想象的要硬:
I'm trying to print out that string replacing the percentage sign with a pipe but it seems harden than i thought:
echo ${data} | awk -F"%" 'BEGIN {OFS="|"} {print $0}'
我知道我离它很近,只是距离不够.
I know I'm very close to it just not close enough.
我看到的代码是:
I see that code as:
1 echo the variable value into a awk session
2 set field separator as "%"
3 set as output field separator "|"
4 print the line
推荐答案
尝试一下:
echo "$data" | awk -F"%" 'BEGIN {OFS="|"} {$1=$1; print $0}'
来自 awk手册
$1 = $1 # force record to be reconstituted
print $0 # or whatever else with $0
如果搜索awk
的替代方法,则仅使用tr
的另一种轻量级方法:
Another lightweight way using only tr
if you search an alternative for awk
:
tr '%' '|' <<< "$data"
这篇关于aws中的OFS问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!