- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
awk 中是否有一种方法(最有可能是 gawk)来设置记录分隔符 RS
将空值作为单独的记录处理字符串的每个字符?有点像设置 FS
清空以在其自己的字段中分隔每个字符:
$ echo abc | awk -F '' '{print $2}'
b
$ echo abc | awk -v RS='?' '{print $0}'
a
b
c
$ echo abc | awk -v RS='' '{print $0}'
abc
for
等等。?
A
:):
$ echo abc | awk -v A="\n" -v RS='(.)' -v ORS="" '{print(RT==A?NR:RT)}'
abc4
length
.再说一次,我怎么能赢得 Pyth 代码:
+Qfql+Q
:D。
最佳答案
如果您只想每行打印一个字符,@klashxx 的回答是可以的。但是一个sed 's/./&\n/g'
因为你在打高尔夫球,所以会更短。
如果您真的想为每个角色单独记录,我为您找到的最佳解决方案是:
echo -n abc | awk -v RS='(.)' '{ print RT }'
gawk
;您的输入字符在
RT
中,而不是
$1
)
RS
设置为空字符串,表示为
awk
记录由空行分隔。如果我刚刚定义了
RS='.'
,记录分隔符只是一个点(即固定字符串)。但是如果它的长度超过一个字符,
gawk
的一个特征正在考虑
RS
作为正则表达式。所以,我在这里所做的就是给
gawk
一个正则表达式,表示“每个字符”作为记录分隔符。我使用了
gawk
的另一个功能: 检索与特殊变量
RT
中的正则表达式匹配的字符串(记录终结者)
gwak
的相关部分手动的:
Normally, records are separated by newline characters. You can control how records are separated by assigning values to the built-in variable RS. If RS is any single character, that character separates records. Otherwise, RS is a regular expression. Text in the input that matches this regular expression separates the record.
If RS is set to the null string, then records are separated by blank lines.
Gawk sets RT to the input text that matched the character or regular expression specified by RS.
关于awk - RS 可以设置 "empty"将字符串字符拆分为记录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41299919/
我是一名优秀的程序员,十分优秀!