スペースを追加し、休憩時間後に行を立ててください。

スペースを追加し、休憩時間後に行を立ててください。

2つの文字列の間にスペースを追加し、sedを使用して各ブレーク後にソートされたことを確認しようとしていますが、コロンの後にスペースを追加するようですが、コロンの前のテキストの長さが異なるため、成功しません。

前任者:

Name of user: test1

    username:test1
    User ID:1004 
    Group ID:1004 

私が望むもの

Name of user: test1

        username:     test1
        User ID:      1004 
        Group ID:     1004 

パスワード:

#!/bin/bash
echo -n "Name of user: test1" 
echo 
echo -n "username" 
getent passwd test1 | cut -d ':' -f 1
echo -n "username" 
getent passwd test1 | cut -d ':' -f 2
echo -n "username" 
getent passwd test1 | cut -d ':' -f 3

答え1

変更可能なスクリプトによって生成された出力の場合は、その行を:印刷するときに文字の後にタブを出力するだけです。


GNUを使用sed(理解\t):

$ sed 's/: */:\t/' file
Name of user:   test1

    username:   test1
    User ID:    1004
    Group ID:   1004

これは単に:文字とそれに続くスペースを置き換え、:その後にタブ文字が続きます。

GNU以外の場合sed(BSDシステムなど)、代わりにリテラルタブを使用してください\t。コマンドラインから[リテラル挿入]タブを使用できますCtrl+VTab

関連情報