String 如何在bash中将字母顺序错误的字符串grep?

String 如何在bash中将字母顺序错误的字符串grep?,string,bash,gnu-coreutils,acronym,String,Bash,Gnu Coreutils,Acronym,我有一个任务要做,就是找到一些字符串(首字母缩略词),在一些特定的文本文件中重复 以下是一个示例: 。。。 这个 这个 赫特 赫特 赫特 德 德 德 德 ... 在第一步中,我可以计算每个命令出现的次数: cat text_file.txt | sort | uniq-c | sort-gr 输出是这样的: 2 3赫特 4德 但我还需要“计数/求和”这三个输出,因为它们使用相同的三个字符,但顺序不同 关于这一点,你们能给我一些帮助吗?使用GNU awk将字符串拆分为字符,给定一个空FS并排

我有一个任务要做,就是找到一些字符串(首字母缩略词),在一些特定的文本文件中重复

以下是一个示例:

。。。
这个
这个
赫特
赫特
赫特
德
德
德
德
...
在第一步中,我可以计算每个命令出现的次数:

cat text_file.txt | sort | uniq-c | sort-gr
输出是这样的:

2
3赫特
4德
但我还需要“计数/求和”这三个输出,因为它们使用相同的三个字符,但顺序不同


关于这一点,你们能给我一些帮助吗?

使用GNU awk将字符串拆分为字符,给定一个空FS并排序为:

$ cat tst.awk
{
    split($0,chars,"")
    PROCINFO["sorted_in"] = "@val_str_asc"
    key = ""
    for (i in chars) {
        key = key chars[i]
    }
    cnt[key]++
}
END {
    PROCINFO["sorted_in"] = "@ind_str_asc"
    for (key in cnt) {
        print key, cnt[key]
    }
}

$ cat file
the
het
teh
foobar
fobar
oofrab

$ awk -f tst.awk file
abfoor 2
abfor 1
eht 3

使用GNU awk将字符串拆分为字符,给定一个null FS,并按以下方式排序:

$ cat tst.awk
{
    split($0,chars,"")
    PROCINFO["sorted_in"] = "@val_str_asc"
    key = ""
    for (i in chars) {
        key = key chars[i]
    }
    cnt[key]++
}
END {
    PROCINFO["sorted_in"] = "@ind_str_asc"
    for (key in cnt) {
        print key, cnt[key]
    }
}

$ cat file
the
het
teh
foobar
fobar
oofrab

$ awk -f tst.awk file
abfoor 2
abfor 1
eht 3

请在你的问题中添加你想要的样本输入输出。我想你的意思是“字谜”而不是“首字母缩略词”
sort-g
做什么?我通常使用
sort-n
按计数前缀进行排序。请将该样本输入的所需输出添加到您的问题中。我想您的意思是“anagram”而不是“acronym”
sort-g
做什么?我通常使用
sort-n
按计数前缀排序。非常感谢!有了这个脚本,我就有了我想要的东西。非常感谢非常感谢你!有了这个脚本,我就有了我想要的东西。非常感谢