文字列の特定の領域を特定する方法は?

文字列の特定の領域を特定する方法は?

4000文字を超える文字を含むファイルがあり、場所148から1824までの文字列を探したいと思います。どうすればいいですか?

ベストアンサー1

grepする必要はありません。この種の作業のために特別に設計されたツールがあります。cut148 から 1824 までの文字を取得するには:

cut -c 148-1824 file

この-cフラグは選択した文字を表します。-bバイトを処理するには を使用します。

この使用に固執する場合は、grep次のことを行う必要があります(GNU grepと仮定)。

grep -Po '^.{147}\K.{1675}' file

これは最初の147文字(^.{147})と一致し、その文字を削除します(\K)。次に、次の1675文字を一致させます。この-oフラグはgrep行の一致する部分だけを印刷するように指示し、この-PフラグはPerl互換正規表現を有効にします\K

おすすめ記事