Unix 向以数值开头的行添加选项卡

Unix 向以数值开头的行添加选项卡,unix,awk,sed,Unix,Awk,Sed,我在linux服务器上有一个文本文件,希望在每行的开头添加一个以数值开头的选项卡,而不是添加到开头没有数值的行 我知道如何添加选项卡,但不知道如何在开始时指定有关数字的规则 输入: String1 String2 103_String 2424_String 期望输出: String1 String2 103_String 2424_String 这里的想法是,如果行以数字(^[0-9])开头,则打印一个选项卡(\t)。另外,打印每一行(1) 这里的想法是,如果行

我在linux服务器上有一个文本文件,希望在每行的开头添加一个以数值开头的选项卡,而不是添加到开头没有数值的行

我知道如何添加选项卡,但不知道如何在开始时指定有关数字的规则

输入:

String1
String2
103_String
2424_String
期望输出:

String1
String2
       103_String
       2424_String
这里的想法是,如果行以数字(
^[0-9]
)开头,则打印一个选项卡(
\t
)。另外,打印每一行(
1


这里的想法是,如果行以数字(
^[0-9]
)开头,则打印一个选项卡(
\t
)。此外,打印每一行(
1
)。

在这里,sed比awk更合适:

sed '/^[0-9]/s/^/    /'
有些sed允许您使用
\t
而不是显式选项卡,但后者更便于移植。如果您正在使用这些sed,您可以执行以下操作:

sed '/^[0-9]/s/^/\t/'
或者你可以:

sed "/^[0-9]/s/^/$(printf \\t)/"

在国际海事组织,sed比awk更合适:

sed '/^[0-9]/s/^/    /'
有些sed允许您使用
\t
而不是显式选项卡,但后者更便于移植。如果您正在使用这些sed,您可以执行以下操作:

sed '/^[0-9]/s/^/\t/'
或者你可以:

sed "/^[0-9]/s/^/$(printf \\t)/"

使用gnu sed:
sed-i的/^[0-9]/\t&/'文件
使用gnu sed:
sed-i的/^[0-9]/\t&/'文件