我想直接在包含匹配模式的行之后打印一行.我的版本sed不会采用以下语法(它炸弹了+1p.)这看起来像一个简单的解决方案:
sed -n '/ABC/,+1p' infile
Run Code Online (Sandbox Code Playgroud)
我认为awk做多线处理会更好,但我不知道该怎么做.
我已经尝试了各种解决方案来找到一个很好的方法来通过一个以特定单词开头的文件,并以特定的单词结束.
假设我有一个名为的文件states.txt包含:
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Run Code Online (Sandbox Code Playgroud)
我想cat states.txt并获得以下开头Idaho和结束的状态South Dakota.
我也想忽略这样一个事实,即状态是按字母顺序排列的(我要的实际文件内容不按此顺序排列).
结果应如下所示:
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky …Run Code Online (Sandbox Code Playgroud)