我需要你的帮助。
我有一个包含许多行的文本文件,对于每行我想要提取代码。 这段代码是两种模式:
1)"隔离"
2)","
我的log.txt的例子:
George Thibault给某人隔离:x27041992,两个球
Edward Thin向美联储提供三台PC
隔离区:m5405051993,Tommy Dijoux给一只鞋隔离:cD001252000,给luc
通缉新文件:
x27041992
m5405051993
cD001252000
有人可以帮我吗?
答案 0 :(得分:0)
尝试使用以下bash脚本
#!/bin/bash
>output
while read line; do
for word in $line; do
if [[ $word == *","* ]]; then
echo ${word::-1} >> output
fi
done
done < gr
注意:使用shell循环处理文本文件不是一个好习惯。 read this
答案 1 :(得分:0)
匹配隔离区和第一个,
之间的子字符串,并用记住的字符串替换everthing。
如果您不想删除:
,请更改此命令。
sed 's/.*quarantine\([^,]*,.*/\1/' log.txt