我正在尝试编写一个 bash 脚本,该脚本采用输入流并将包含关键字的行排序到顶部。
起点:
$ cat file
cat
dog
mouse
bird
cat and mouse
lorem
ipsum
目标:
$ cat file | sort-by-keyword mouse
mouse
cat and mouse
cat
dog
bird
lorem
ipsum
我尝试使用排序来实现它,但失败了。是我不知道的另一种工具/方式吗?
最佳答案
使用sed
:
脚本文件按关键字排序
:
#!/bin/bash
input="$(cat)"
echo "$input" | sed "/$1/p;d"
echo "$input" | sed "/$1/!p;d"
用法:
chmod +x sort-by-keyword
cat file | ./sort-by-keyword mouse
关于linux - Bash 按关键字排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62213897/