最初の行の最後の文字と次の行の最初の文字

最初の行の最後の文字と次の行の最初の文字

次のテキストファイルがあります。

qwery 45
uiopbmc 6
uenja 9999
comxq 8

私は言いたい:

mylist=['a','c']
if last letter in the line is 'a' (before the number) and the first letter in the next line is 'c', print both two lines.

結果:

uenja 9999
comxq 8

sedの最初の行が「s /」に等しいことはわかりますが、数字の前の最後の文字と次の行の最初の文字はどう言いますか?

ベストアンサー1

sed -n '1N;/a .*\nc/p;N;D'

"a "で始まる行が続く行を含む行を報告します"c"

また見なさい:

sed -n '1N;/a[^[:alpha:]]*\n[^[:alpha:]]*c/p;N;D'

a最後と一致手紙¹ 最初の行から 2 番目の行の場合、最初の行は手紙はいc

次の入力に注意してください。

xa 123
c1a 234
c2a 345

報告された内容は次のとおりです。

xa 123
c1a 234

そして

c1a 234
c2a 345

どちらも法案に合います。


厳密に言えば、でもαアルファベット文字に限定されない名前は、[[:alpha:]]ラテン語やギリシャ語などのアルファベットであるか漢字であるかに関係なく、人間の言語の単語を構成する文字と一致します。少なくともGNUシステムでは見つけることができます。また、0123456789以外の数字と一致して満足しています。POSIX/C標準要件の競合:alnum = alpha + digital。ただし、数は0123456789に制限されます。

おすすめ記事