非常に複雑な状況が発生しました。ソート後、次のtxtファイルがあります。
<!DOCTYPE html>
<!-- saved from url=
(0084)https://www.ncbi.nlm.nih.gov/Structure/cdd/cddsrv>gi|148227144
------------maapaseescssklrsvsvdlnsdpalqidipdalserdkvkftvhtktklpnfknpefdvarfhedf
>gi|57525139
--------------------------------------------------------------------------------
---------------------------------mqklgegevsmtkeefakmkqeleaeylavfkktvssheiflqriss
>gi|49899170
-------------mtsisedsdkekarsvsvdlnndasllidipdalcerdkvkftvhtkttlssfqkpdfsvprqhedf
</pre><iframe id="canary-tool-tip" frameborder="0" class="fat-sapphire-swordtail-
U1xAEvvLch4FZ9B40MDPpa-tool-tip" src="./cd07663_files/mo0yqyx4jxm3k82fauc54s.html" sty>
<div class="xl-chrome-ext-bar__logo"></div>
<a id="xl_chrome_ext_download" href="javascript:;" class="xl-chrome-ext-bar__option">下载视频</a>
<a id="xl_chrome_ext_close" href="javascript:;" class="xl-chrome-ext-bar__close"></a>
</div></body></html>
実際、私はそのようなファイルを取得したいです。
gi|148227144
------------maapaseescssklrsvsvdlnsdpalqidipdalserdkvkftvhtktklpnfknpefdvarfhedf
gi|57525139
--------------------------------------------------------------------------------
---------------------------------mqklgegevsmtkeefakmkqeleaeylavfkktvssheiflqriss
gi|49899170
-------------mtsisedsdkekarsvsvdlnndasllidipdalcerdkvkftvhtkttlssfqkpdfsvprqhedf
だからスクリプトに従うことはできそうですが、sed -i 's/^.*gi//'
不完全なファイルができました。アドバイスをいただけますか?ありがとう
答え1
コマンドはsed -i 's/^.*gi//'
できるだけ多くの文字を一致させようとするので、最後の項目まで行のすべての内容を削除します。したがって、任意の文字列が含まれている場合、期待どおりに機能しません。gi
.*
gi
|
このランダムな文字列にはバーがないため、パターンに追加することをお勧めします。
sed 's/.*gi|/gi|/'
注:(1)最初から常に一致していた^
ため、重複しているため削除しました。 (3)Iこのオプションは削除されましたスクリプトが要件を満たしていることを確認するまで再追加しないことをお勧めします。.*
gi|
-i