我有以下文件
vol-12345678 gp2
vol-89dfg58g
VOLUMES 2016-03-17T22:03:08.374Z False 100 16 snap-7073d522 in-use vol-4568gds4 gp2
ATTACHMENTS 2016-03-17T22:03:08.000Z True /dev/sda1 i-181ed33c attached vol-7ea1c83f
等等
等等
我想提取“ vol-********”的所有实例并将其输出到一个文件中(没有其他内容),从而得到以下文件:
vol-12345678
vol-34556767
vol-34534sdf
...
这是一个相对较小的文件,因此我可以手动进行处理,但是我还有另一个包含200多个案例的文件。知道如何使用GREP或SED或AWK来使用它吗?谢谢!
最佳答案
更新
命令:
sed -n 's/.*\b\(vol-[[:alnum:]]*\).*/\1/'p test2
输出:
vol-12345678
vol-89dfg58g
vol-4568gds4
vol-7ea1c83f
标志:
n:禁止自动打印图案空间。
p:打印出图案空间
图案:
寻找“ vol- [字母数字] s”
替换它并用\ 1打印第一个匹配项
更多详细信息Sed
关于linux - 如何从文件中提取特定字符串(Linux),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38792639/