如何对齐连字符

如何对齐连字符

这是我的命令

echo -e  "Test sur la vie, l'univers et le reste \n " >test42 |grep '42' questions.txt | nl -w1  -s '  - ' | cut -d "/" -f 1 >> test42

这是输出

Test sur la vie, l'univers et le reste 

1  - Quel est le numéro de la dernière armure de Tony Stark dans le film Iron Man 3 ?
2  - Quel est l’angle visuel entre la partie colorée d’un arc-en-ciel et le point central de son arc ?
3  - Quel est le score maximal réalisable à titre individuel au cours des Olympiades internationales de mathématiques ?
4  - À combien de gallons un baril de pétrole est-il équivalent ?
5  - Quel est le nombre d’années de mariage des noces de nacre ?
6  - Quelle est la résistance mécanique en GPa du graphène ?
7  - Combien d'éclipses de soleil et de lune durant un saros ?
8  - Quel est le numéro de l’inode du répertoire root dans un système de fichier reiser4 ?
9  - Combien la Bible de Gutenberg comporte de lignes de texte par colonne ?
10  - Quel est le titre de l'épisode 3X07 de la série télévisée Doctor Who ?
11  - Quel est le numéro atomique du molybdène, un métal de transition ?

但结果应该是这样的

Test sur la vie, l'univers et le reste

1  - Quel est le numéro de la dernière armure de Tony Stark dans le film Iron Man 3 ?
2  - Quel est l’angle visuel entre la partie colorée d’un arc-en-ciel et le point central de son arc ?
3  - Quel est le score maximal réalisable à titre individuel au cours des Olympiades internationales de mathématiques ?
4  - À combien de gallons un baril de pétrole est-il équivalent ?
5  - Quel est le nombre d’années de mariage des noces de nacre ?
6  - Quelle est la résistance mécanique en GPa du graphène ?
7  - Combien d'éclipses de soleil et de lune durant un saros ?
8  - Quel est le numéro de l’inode du répertoire root dans un système de fichier reiser4 ?
9  - Combien la Bible de Gutenberg comporte de lignes de texte par colonne ?
10 - Quel est le titre de l'épisode 3X07 de la série télévisée Doctor Who ?
11 - Quel est le numéro atomique du molybdène, un métal de transition ?
12 - Quelle est la taille, en mètre, de l'obélisque inachevé dans la carrière d'Assouan en Égypte ?

我需要在数字 1 到 9 和连字符之间有 2 个空格。但我需要在连字符和数字 10 及更多之间只有 1 个空格。

你们有什么想法吗?谢谢

答案1

听起来你nl想要左对齐,字段宽度为 3:

... | nl -nln -w3 -s '- '

或者,如果您想在分隔符字符串中显式包含前导空格,则字段宽度为 2:

.... | nl -nln -w2 -s ' - '

答案2

而不是使用

… | nl -w1 -s '  - ' | …

要打印行号,您可以使用以下命令awk来代替并格式化字符串printf

… | awk '{printf "%-2s - %s\n",NR,$0}' | …

答案3

我想到的第一个想法是sed像这样使用(GNU):

sed -E 's/^([1-9])  -/\1   -/'

添加在命令末尾的 之前>>

相关内容