文字列のN番目の文字をすべて印刷するには?

文字列のN番目の文字をすべて印刷するには?

このコード行は、7番目の文字ではなく最初の文字で始まるという点を除いて、まさにそれを行います。

$ echo 1234567890abcdefghijklmnopqrstuvwxy | sed 's/.\{1,7\}\(.\{0,1\}\)/\1/g'

私が探しているのは

19gow

ベストアンサー1

実際に必要なものを説明していませんが、目的の出力を取得する1つの方法は8文字ごとに選択することです。このような:

$ echo 1234567890abcdefghijklmnopqrstuvwxy | sed -E 's/(.).{0,7}/\1/g'
19gow

この置換は任意の文字()を見つけて「キャプチャ」し、その(.)文字と次の7文字(残りの文字が7文字未満の場合はそれ以下)を自分の文字に置き換えます。実際、これにより、8文字を除くすべての文字が削除されます。

おすすめ記事