在我的目录中有几个带有模式的文件
simulation_y_t
对于具有此模式的所有文件,我需要检查文件的最后一行是否出现单词hgip
...该单词可能不会被周围字符的空格分隔但是如果它它会出现在该行的最后20个字符内...
文件的最后一行可能看起来像这样(如果它将被删除)
((((1560:0.0129775,(1565:0.00473242,1447:0.00473242):0.00824512):0.0133245,((((1421:0.00357462,(1496:0.00352733,1472:0.00352733):4.72931e-05):0.00597691,1505:0.00955153):0.0104055,((((1465:0.00716479,(1527:0.00380709,1556:0.00380709):0.0033577):0.000984333,(1555:0.00381533,((1423:0.00169525,1411:0.00169525):0.00168847,1587:0.00338372):0.00043161):0.00433379):0.00159571,((1546:0.000908968,1584:0.000908968):0.00775293,(1492:0.00374859,1489:0.00374859):0.00491332):0.00108293):0.00962105,1594:0.0193659):0.000591157):0.00510731,(1442:0.0198716,(1525:0.00416688,(1550:0.00378343,1544:0.00378343):0.000383449):0.0157047):0.00519277):0.00123765):0.000318786,(1538:0.00713072,1530:0.00713072):0.0194901):0.000325926,((1483:0.00663734,1484:0.00663734):0.00471454,(1518:0.00352348,(1433:0.000365709,1450:0.000365709):0.00315777):0.0078284):0.0155948):0.00081517,1561:0.0277619):0.00127735):0.00271069hgip: 77113
请注意,括号中的数字和方式在每个文件中都是不同的,这实际上是关于这4个字符是否出现在该行的一行中......如果这样做,则该行将从文件中删除< / p>
我怎么能这样做?
答案 0 :(得分:1)
这应该很容易
sed '/hgip/d' YourFile
这将删除所有&#39; hgip&#39;在里面
仅检查最后一行
sed '${/hgip/d}' YourFile
如果&#39; hgip&#39;这将仅删除最后一行。在里面
答案 1 :(得分:1)
使用find搜索文件,然后使用-exec选项删除最后一行,如果它包含hgip
find . -type f -name '*simulation_y_t*' -exec sed -i '${/hgip/d}' {} \;