Grep

如何對齊hypen

  • February 19, 2020

這是我的命令

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 個空格。但我只需要在 hypen 和數字 10 和更多之間留有 1 個空格。

你們有什麼想法嗎?謝謝

聽起來你想nl對齊,欄位寬度為 3:

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

或者如果要在分隔符字元串中顯式包含前導空格,則欄位寬度為 2:

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

而不是使用

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

要列印行號,您可以awk改用並使用以下格式格式化字元串printf

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

引用自:https://unix.stackexchange.com/questions/568592