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。