我想匹配所有西里尔字符,但要将ID打印到文件中。例如:
Author: Doe, John
Title: Оптимизация ресурсного потенциала промышленности города с учетом его конкурентных преимуществ
ID: 1234567
我目前的方法是为西里尔字符寻找:
grep -i -r --include=*{rdf,redif,rdf~} --color="auto" -P -n '[\x{0400}-\x{04FF}]' > cyrillic.txt
如何将ID行打印到文件而不是匹配的行?
答案 0 :(得分:0)
如果-A1
行在匹配模式之后,请使用ID:
选项。然后将其传输到另一个grep
,以获得ID:
行。
grep -A1 -i -r --include=*{rdf,redif,rdf~} --color="auto" -P -n '[\x{0400}-\x{04FF}]' \
| grep 'ID: ' > cryllic.txt
答案 1 :(得分:0)
使用grep标志h
- 来禁止输出文件名 - 您将输出如下内容:
4:string with matching pattern
5:string with matching pattern
7:string with matching pattern
现在您可以将此输出传输到awk
并仅打印第一列,即匹配字符串编号:
{your_grep} | awk -F ':' '{print $1}' > cyrillic.txt