不确定是否已经问过这个问题,但基本上我想从包含特殊字符的file1中读取并将其更改为URL编码版本。 file2是一个以管道分隔的文档,例如:#|%23。
因此,当脚本从file1读取“#”时,它会将其更改为 “%23”。有174个不同的字符可以识别,如果 陈述是不可行的。
注意:我写这是bash
我正在考虑使用像sed或awk这样的东西但是我不知道如何将它用于文本文件。
有什么建议吗?
答案 0 :(得分:2)
awk -F '|' '
FNR == NR { Trsl[ $1 ] = $2; next}
FNR != NR {
s0 = $0
for( Char in Trsl) {
Cnt = split( s0, a0, Char )
s0 = a0[ 1 ]
for( i = 2; i <= Cnt; i++) s0 = s0 Trsl[ Char] a0[ i]
}
print s0
}
' File2 File1
|
不在特殊字符列表中
- &gt; %20
后%
- &gt; Percent
会为原始Percent20