単純なUnixコマンドでこれを達成できるかどうかはわかりません。ちょっと複雑に見えるからです。
以下の文字が来ました。
<p id="mt">Iusto, numquam dolore aut voluptates delectus</p>
<p id="mt">Lorem ipsum dolor sit amet</p>
<p id="mt">Facere vitae sapiente necessitatibus</p>
<p id="mt">Tempora modi rem reprehenderit quam eos. Provident, animi ab ducimus dolorem</p>
各行の文字長が異なります。一部のコンテンツが長すぎて省略する必要があります。
たとえば、<p id="mt">...</p>
コンテンツを20文字に制限し、それを超えると削除します。こんな感じです。
<p id="mt">Iusto, numquam dolor</p>
<p id="mt">Lorem ipsum dolor si</p>
<p id="mt">Facere vitae sapient</p>
<p id="mt">Tempora modi rem rep</p>
答え1
使用sed
:
sed -E 's/^(<p id="mt">.{20}).*(<\/p>$)/\1\2/' infile
答え2
注文する
awk -F ">" '{print $2}' filename| awk -F "<" '{print "<p id=\"mt\">"substr($1,1,20)"</p>"}'
出力
<p id="mt">Iusto, numquam dolor</p>
<p id="mt">Lorem ipsum dolor si</p>
<p id="mt">Facere vitae sapient</p>
<p id="mt">Tempora modi rem rep</p>
Python
m=open('filename','r')
for g in m:
e=g.split('>')[1].split('<')[0][0:20]
print "<p id=\"mt\"> {0}</p>".format(e)
出力
<p id="mt"> Iusto, numquam dolor</p>
<p id="mt"> Lorem ipsum dolor si</p>
<p id="mt"> Facere vitae sapient</p>
<p id="mt"> Tempora modi rem rep</p>