它可能是重复的,但不要标记这一点,伙计们,我正在执行一些手动任务无法得到精确的解到目前为止,已删除 45000 行中的 5000 行,尝试使其尽可能简单
订购阿尔法 设施: 201 ZZZ COUNTRY 错误跟踪: Kotak:NA 浸泡:NA NOUN:XP 噢噢噢噢噢噢 噢噢噢噢噢噢林 AMO 订单 # P/PROLHSCNDKMDDCN LAM uii ii oo --- -------- --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --- --- -- -- BZ90rty K/K AA AA AA NA XP AP NA NA NA NA NA NA AP AP OOL XP IP N a ZX A/A WD WD WD NA WD WD NA NA NA NA NA NA WD WD OOL WD IP Y 下令埋葬 设施: 201 ZZZ COUNTRY 错误跟踪: Kotak:NA 浸泡:NA NOUN:XP 噢噢噢噢噢噢 噢噢噢噢噢噢林 AMO 订单 # P/PROLHSCNDKMDDCN LAM uii ii oo --- -------- --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --- --- -- -- BZ903901 A/A AA AA AA NA XP AP NA NA NA NA NA NA AP AP OOL XP IP N a ZX A/A WD WD WD NA WD WD NA NA NA NA NA NA WD WD OOL WD IP Y 订购铝 设施: 201 ZZZ COUNTRY 错误的踪迹: Kotak:NA PAT:NA NOUN:AP 噢噢噢噢噢噢 噢噢噢噢噢噢林 AMO 订单 # P/PROLHSCNDKMDDCN LAM uii ii oo --- -------- --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --- --- -- -- BZ903901 U/U AA AA AA NA XP AP NA NA NA NA NA NA AP AP OOL XP IP N a ZX Y/Y WD WD WD NA WD WD NA NA NA NA NA NA WD WD OOL WD IP Y 订购 AL123 ...续...
如果NOUN :XP
找到A/A
&&K/K
则从文件中删除这些类型的记录
为什么大多数脚本都会失败,因为像这样的条件(如果 NOUN :AP 和 A/A && K/K 存在)它也显示该记录...或者像这样的条件(如果 NOUN :XP 带有 A/Z && K /Z)它也显示该记录...我需要删除这些记录而不是保留它们。
输出---->
订购阿尔法 设施: 201 ZZZ COUNTRY 错误跟踪: Kotak:NA 浸泡:NA NOUN:XP 噢噢噢噢噢噢 噢噢噢噢噢噢林 AMO 订单 # P/PROLHSCNDKMDDCN LAM uii ii oo --- -------- --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --- --- -- -- BZ90rty K/K AA AA AA NA XP AP NA NA NA NA NA NA AP AP OOL XP IP N a ZX A/A WD WD WD NA WD WD NA NA NA NA NA NA WD WD OOL WD IP Y
注意NOUN [small space is there]:XP
,行和列是动态的。
答案1
awk '
function print_record() {
if (record ~ /Stack :IR/ && record ~ /F\/F/ && record ~ /X\/X/) return
printf "%s", record
}
tolower($1) == "order" {if (NR > 1) print_record(); record = ""}
{record = record $0 ORS}
END {print_record()}
' file
根据您的编辑,需要更改的是:
function print_record() {
if (record ~ /NOUN: XP/ && record ~ /A\/A/ && record ~ /K\/K/)
printf "%s", record
}