2017-02-14 17 views
-4

Я запускаю скрипт Perl внутри скрипта Perl, а вывод скрипта - вот что. Эти значения сохраняются в массивеИспользование cut, grep, uniq in perl way

# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/angyvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/aqmmgvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/69aqvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/69aavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/qqmavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/wttvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/9aaqvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/9aaavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/a1vqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
# aAM axac: cmt /tm9/raaqHRW /myqq1fqq1er/maaavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a1.1.e.1234567891008547.ahqva 
[qNFq] cqqq aarvqca qntereatqng 1qatvqnqth. heqqq 1qatvqnqth. 
[qNFq] cqqq aarvqca qntereatqng fmtvqnqth. heqqq fmtvqnqth. 
[qNFq] cqqq aarvqca qntereatqng gcaavqnqth. heqqq gcaavqnqth. 
[qNFq] cqqq aarvqca qntereatqng gq9vqnqth. heqqq gq9vqnqth. 
[qNFq] cqqq aarvqca qntereatqng hvavqnqth. heqqq hvavqnqth. 
[qNFq] cqqq aarvqca qntereatqng q9vqnqth. heqqq q9vqnqth. 
[qNFq] cqqq aarvqca qntereatqng 9vaqvqnqth. heqqq 9vaqvqnqth. 
[qNFq] cqqq aarvqca qntereatqng mcaavqnqth. heqqq mcaavqnqth. 
[qNFq] cqqq aarvqca qntereatqng mcqrvqnqth. heqqq mcqrvqnqth. 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/angyvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/aqmmgvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/69aqvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/69aavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/qqmavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/wttvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/9aaqvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/9aaavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/a1vqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
# aAM axac: cmt /tm9/raawV9h /myqq1fqq1er/maaavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a4.1.e.1234567891014523.ahqva 
[qNFq] cqqq aarvqca qntereatqng 1qatvqnqth. heqqq 1qatvqnqth. 
[qNFq] cqqq aarvqca qntereatqng fmtvqnqth. heqqq fmtvqnqth. 
[qNFq] cqqq aarvqca qntereatqng 6caavqnqth. heqqq 6caavqnqth. 
[qNFq] cqqq aarvqca qntereatqng 6q9tvqnqth. heqqq 6q9tvqnqth. 
[qNFq] cqqq aarvqca qntereatqng q9vqnqth. heqqq q9vqnqth. 
[qNFq] cqqq aarvqca qntereatqng 9vaqvqnqth. heqqq 9vaqvqnqth. 
[qNFq] cqqq aarvqca qntereatqng mcaavqnqth. heqqq mcaavqnqth. 
[qNFq] cqqq aarvqca qntereatqng mcqrvqnqth. heqqq mcqrvqnqth. 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/angyvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/aqmmgvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/69aqvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/69aavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/qqmavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/wttvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/9aaqvqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/9aaavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/a1vqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 
# aAM axac: cmt /tm9/raaaRX6 /myqq1fqq1er/maaavqnqth/rmn/cqqqa/newfqq1er/111111111/ty9a7.1.e.1234567891020719.ahqva 

Мне нужно, чтобы получить результат, как этот

tm9/raaqHRW /111111111/ty9a1 
tm9/raawV9h /111111111/ty9a4 
tm9/raaaRX6 /111111111/ty9a7 

В настоящее время я пишу вывод скрипта в файл и делать так,

grep "cmt /tm9" output_file | cut -d'/' -f2,3,9,10 | cut -d '.' -f1 | uniq 

Есть ли способ Perl для этого?

+2

Конечно, есть. Какая у вас проблема? – ikegami

+0

Я использовал grep и смог сохранить структуру данных как массив. то есть я grep с символами, начинающимися с #, и сохранял результат в массиве. Я новичок в perl, и я не знал, как это сделать, сохраняя его как массив. Я знал только, чтобы разорвать их и обработать –

+1

Если ваш [вопрос закрыт] (http://stackoverflow.com/q/42051608/176646), не повторно отправляйте тот же самый вопрос снова. Прочитайте руководство по близкой причине, уточните свой вопрос, основываясь на комментариях других людей, и попытайтесь улучшить свой вопрос, чтобы его можно было вновь открыть. – ThisSuitIsBlackNot

ответ

0
perl -F/ -nle '/cmt \/tm9/ && do { $_ = join "/", @F[1,2,8,9]; s/\..*//; print if ++$h{$_} == 1}' output_file 

Вы ищете этот ответ?

+0

Но у меня есть значения в массиве, а не в файле. –

+0

. Вы могли бы получить лучший ответ, когда бы уточняли, описывая свою задачу. Мой perl one-liner делает именно то, что делает ваша комбинация команд с каналами. –

+0

«В настоящее время я пишу вывод скрипта в файл и делаю следующее», - вот что я сказал. Но мне нужно: «Я запускаю Perl-скрипт внутри скрипта Perl, а вывод скрипта - это что-то вроде этого. Эти значения хранятся в массиве« ........ Так что, пожалуйста, посмотри и скажи мне. Я новичок в perl –