我在一个地点解决了一个问题,问题如下:
“给定一个文件的n行输入,将每行的第3个字符作为一个新的输出行打印出来。保证n行输入中的每一行都有第3个字符。”
所以为了解决这个问题我写了一个命令

while read -r line
do
      echo ${line:2:1}
done < sample.txt

“sample.txt”中的内容是:
C.B - Cantonment Board/Cantonment
C.M.C – City Municipal Council
C.T – Census Town
E.O – Estate Office
G.P - Gram Panchayat
I.N.A – Industrial Notified Area
I.T.S - Industrial Township
M – Municipality
M.B – Municipal Board
M.C – Municipal Committee

我得到的输出如下:
B
M
T
O
P
N
T
â
B
C

根据网站的说法,答案应该是:
B
M
T
O
P
N
T
в
B
C

请不要说最后的第三个输出是“掴”,我得到的是“掴”
我是新的ascii,uts-8转换,所以不知道这是否有任何关系。
为了得到这个答案,代码应该做些什么修改?

最佳答案

这可以通过一个简单的cut调用来完成:

$ cut -c3 sample.txt

关于linux - 在bash shell中的文件中每行打印3个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46096975/

10-10 14:37