7

sed を使用して、先頭の 5 文字を除く行内のすべての文字を削除する sed コマンドは何でしょうか? 私はこれを「逆行」しようとしましたが(削除を元に戻しました)、それは最もエレガントな解決策ではありません。

4

2 に答える 2

10

これはうまくいくかもしれません(GNU sed):

echo '1234567890' | sed 's/.//6g'
12345

または:

echo '1234567890' | cut -c-5
12345
于 2012-05-23T13:09:09.123 に答える
3

これを試してください(行頭で「任意の」文字を5回繰り返して最初のグループに保存し、任意の文字を何度でも繰り返して、一致した文字列を最初のグループに置き換えます):

sed 's/^\(.\{5\}\).*/\1/'

または mouviciel によって提案された代替:

sed 's/^\(.....\).*/\1/'

(必要な最初の文字数が大きくなりすぎない限り、より読みやすくなります)

于 2012-05-23T11:00:36.817 に答える