2017-04-07 21 views
-1

林這個命令,但沒有工作如何使用ruby打印第一行?使用

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]' 

此命令的insput是

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 

我該如何解決這個問題 請幫幫我

+1

請審查和改進您的問題的格式和措辭。 Stack Overflow是一個在線參考站點,該問題的可讀性和可理解性非常重要。如果英語不是您的主要語言,可能有助於讓熟悉問題的同齡人和說英語的同事與您一起工作。 Jon Skeet的「[寫出完美的問題](https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)」將是一個很好的閱讀頁面。 –

+1

'centroid'從哪裏來?這不是在你的輸入任何地方。 – Barmar

+1

如果您只想處理輸出的第一行,請通過'head -1'管道輸入它 – Barmar

回答

0

你的命令行做了很多事,它並不需要。試試這個:

echo '0: 100x50+0+0 51.0,25.2 4019 srgba(251,254,252,0)' | ruby -e 'puts ARGF.readline.split[3]' 

,輸出:

4019 

你可以使用,而不是你嘗試的是紅寶石線。

如果數據是在一個文件中,或與更多的數據進行測試:

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 -e 'puts ARGF.readline.split[3]' < ~/Desktop/test.txt 

輸出:

4019 

閱讀有關ARGFARGF.readlinesplit的文檔瞭解它在做什麼。