我正在尝试在两个字符串之间添加空格,并确保它们在每次使用 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
如果这是由您可以更改的脚本生成的输出,则只需在
:
打印该行时在字符后输出一个制表符。使用 GNU
sed
(理解\t
):这只是用后跟制表符替换
:
字符和它们之后的任何空格。:
对于非 GNU
sed
(例如在 BSD 系统上),使用文字制表符而不是\t
. 您使用 . 在命令行上插入一个文字选项卡Ctrl+VTab。