我想从所有行开头阅读所有文件并打印第N个字母(只是字母)。
我读了这样的文件:
读取行
DO
echo $ line>>的text.txt
完成< input.txt中
然后我这样做:
cut -c3 text.txt
但我意识到它并没有按照我的意愿在这些输入中运作:
他llo
或
重新设置+
我想得到' l'对于第一次输入和' s第二次输入。
但是这段代码发现了' '第一次输入和' +'第二次输入
anubhava写了这段代码:
awk -v n = 3' {gsub(/ + /,""); print substr($ 0,n,1)}'文件
除了空间
之外,它正在为第N个字母工作但现在我想要打印第N个字母(只是字母)
我该怎么办?
答案 0 :(得分:1)
你可以使用这个awk:
awk -v n=3 '{gsub(/ +/, ""); print substr($0, n, 1)}' file
<强>测试强>
s='re set'
awk -v n=3 '{gsub(/ +/, ""); print substr($0, n, 1)}' <<< "$s"
s
s='He llo'
awk -v n=3 '{gsub(/ +/, ""); print substr($0, n, 1)}' <<< "$s"
l
s='1 2 345'
awk -v n=3 '{gsub(/ +/, ""); print substr($0, n, 1)}' <<< "$s"
3