我使用此命令但不起作用
convert capchas4 -define connected-components:verbose=true -connected-components -4 -auto-level ccredsult.png \
| ruby -a -F' ' -ne 'puts $F[3]' \
| ruby -a -F'' -ne 'puts $F[0].split(/\n/)[1]'
此命令的输入是
0: 100x50+0+0 51.0,25.2 4019 srgba(251,254,252,0)
1: 28x22+39+9 51.1,19.1 353 srgba(0,0,0,1)
3: 19x22+68+12 74.3,21.3 225 srgba(0,0,0,1)
4: 15x23+5+13 10.0,24.7 211 srgba(0,0,0,1)
2: 15x24+22+10 28.7,22.6 192 srgba(0,0,0,1)
输出就是这个
100x50+0+0
28x22+39+9
19x22+68+12
15x23+5+13
15x24+22+10
我期待这个输出
100x50+0+0
我怎么能解决这个问题 请帮帮我
答案 0 :(得分:0)
您的命令行正在做很多事情,它并不需要。试试这个:
echo '0: 100x50+0+0 51.0,25.2 4019 srgba(251,254,252,0)' | ruby -e 'puts ARGF.readline.split[3]'
哪个输出:
4019
您可以使用该Ruby行代替您的尝试。
如果您的数据在文件中,或者要测试更多数据:
cat > ~/Desktop/test.txt
0: 100x50+0+0 51.0,25.2 4019 srgba(251,254,252,0)
1: 28x22+39+9 51.1,19.1 353 srgba(0,0,0,1)
3: 19x22+68+12 74.3,21.3 225 srgba(0,0,0,1)
4: 15x23+5+13 10.0,24.7 211 srgba(0,0,0,1)
2: 15x24+22+10 28.7,22.6 192 srgba(0,0,0,1)
然后,将数据导入Ruby:
ruby -e 'puts ARGF.readline.split[3]' < ~/Desktop/test.txt
输出:
4019
阅读ARGF
,ARGF.readline
和split
上的文档
了解它在做什么。