假设我有:
ttb_5_x1
tgg_5_x2
ttb_5_x5
tcc_8_x8
ccr_5_x4
我尝试根据
t
过滤行开头的字母表。所以行开始于 tt
应该保存在一个单独的文件中。以 t
开头的行也是如此期望的输出应该是:
ttb_5_x1
ttb_5_x5
和
tgg_5_x2
tcc_8_x8
我试过
awk '/^t/{print}'
或 awk '/^tt/{print}'
但它对t
的1或2次重复不敏感字母。
最佳答案
这可以通过更简单、更短的 awk
来完成。在单个 condition { action }
堵塞:
awk 'match($0,/^t+/) {print > ("outfile" RLENGTH)}' file
然后检查输出:
cat outfile1
tgg_5_x2
tcc_8_x8
cat outfile2
ttb_5_x1
ttb_5_x5
关于bash - 使用 awk 匹配特定的字母重复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61820719/