1 147.31.124.135
1 147.31.9.135
1 147.32.123.135
1 147.32.123.136
1 147.32.124.135
1 77.236.192.69
1 86.49.86.108
1 86.49.86.109
您好。我有这种格式的文件,每行开头有很多空格,我想从开头删除这些空格,并使用awk或sed打印所有字段。
结果:
1 147.31.124.135
1 147.32.123.135
1 147.32.123.136
1 147.32.124.135
1 77.236.192.69
1 86.49.86.108
1 86.49.86.109
答案 0 :(得分:4)
您可以使用此sed
命令删除前导空格(空格或制表符)
sed 's/^[ \t]*//' file
使用sed -i
就地修改文件。
答案 1 :(得分:2)
sed命令
sed 's/^ *//'
应该有用。
说明:^
表示行的开头,*
表示零或多个空格。这些都没有被替换。
答案 2 :(得分:2)
您甚至可以使用POSIX字符类[:space:]
来处理所有空格(\t
,\r
,\n
,\v
等等:
sed 's/^[[:space:]]*//g' file
答案 3 :(得分:1)
使用awk命令,
bash-3.2$ cat input
1 147.31.124.135
1 147.31.9.135
1 147.32.123.135
1 147.32.123.136
1 147.32.124.135
1 77.236.192.69
1 86.49.86.108
1 86.49.86.109
bash-3.2$ awk 'sub(/^ */, "")' input
1 147.31.124.135
1 147.31.9.135
1 147.32.123.135
1 147.32.123.136
1 147.32.124.135
1 77.236.192.69
1 86.49.86.108
1 86.49.86.109