Как найти слова с теми же буквами, используя сценарий оболочки

вы можете найти их в двух каталогах:

/usr/lib/nautilus/extensions-2.0/python 

/usr/lib/nautilus/extensions-3.0/python 

надеюсь, что это поможет ...

0
задан 8 April 2018 в 23:33

4 ответа

Представлено без комментариев:

ruby -rset -e ' readlines.each {|sentence| p sentence data = Hash.new {|h,k| h[k] = Set.new} sentence.scan(/\w+/).each {|word| data[word.chars.sort] << word } p data.each_value.select {|set| set.size > 1}.collect(&:to_a) } ' << END How can you listen if you are not silent? I saw a tap; it was apt END "How can you listen if you are not silent?\n" [["listen", "silent"]] "I saw a tap; it was apt\n" [["saw", "was"], ["tap", "apt"]]
3
ответ дан 17 July 2018 в 17:14

В этом списке будет указана частота каждого набора символов, ограниченного пробелом, в предложении:

echo 'How can you listen if you are not silent?' \ | tr -cd '[:alpha:][:space:]' \ | tr '[:upper:][:space:]' '[:lower:]\n' \ | while read a; do grep -o .<<<$a | sort | tr -d '\n'; echo; done \ | sort | uniq -c | sort

Выход:

1 acn 1 aer 1 fi 1 how 1 not 2 eilnst 2 ouy

Это не очень элегантный и, вероятно, вы должны использовать что-то еще, кроме оболочки.

2
ответ дан 17 July 2018 в 17:14

Представлено без комментариев:

ruby -rset -e ' readlines.each {|sentence| p sentence data = Hash.new {|h,k| h[k] = Set.new} sentence.scan(/\w+/).each {|word| data[word.chars.sort] << word } p data.each_value.select {|set| set.size > 1}.collect(&:to_a) } ' << END How can you listen if you are not silent? I saw a tap; it was apt END "How can you listen if you are not silent?\n" [["listen", "silent"]] "I saw a tap; it was apt\n" [["saw", "was"], ["tap", "apt"]]
3
ответ дан 23 July 2018 в 18:05

В этом списке будет указана частота каждого набора символов, ограниченного пробелом, в предложении:

echo 'How can you listen if you are not silent?' \ | tr -cd '[:alpha:][:space:]' \ | tr '[:upper:][:space:]' '[:lower:]\n' \ | while read a; do grep -o .<<<$a | sort | tr -d '\n'; echo; done \ | sort | uniq -c | sort

Выход:

1 acn 1 aer 1 fi 1 how 1 not 2 eilnst 2 ouy

Это не очень элегантный и, вероятно, вы должны использовать что-то еще, кроме оболочки.

2
ответ дан 23 July 2018 в 18:05
  • 1
    Предложение: tr -cd '[:alpha:][:space:]' и tr '[:upper:][:space:]' '[:lower:]\n' вместо этих двух trs. – muru 9 April 2018 в 04:30
  • 2
    да, намного лучше, спасибо. – Sebastian Stark 9 April 2018 в 06:41

Другие вопросы по тегам:

Похожие вопросы: