como alinhar linhas para o lado esquerdo com sed ou perl forro de uma linha

0

temos o seguinte arquivo

como linhas de alinhamento para o lado esquerdo com sed ou perl forro de uma linha

more conf.env

# Extra ssh options.  Empty by default.
    export HADOOP_SSH_OPTS="-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR"

# Where log files are stored.  $HADOOP_HOME/logs by default.
  export HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER

# History server logs
               export HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER

# Where log files are stored in the secure data environment.
         export HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER

   # File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.
# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves

resultados esperados

more conf.env

# Extra ssh options.  Empty by default.
export HADOOP_SSH_OPTS="-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR"

# Where log files are stored.  $HADOOP_HOME/logs by default.
export HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER

# History server logs
export HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER

# Where log files are stored in the secure data environment.
export HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER

# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.
# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves
    
por King David 12.08.2018 / 11:47

1 resposta

2

Isso excluirá todos os espaços e guias no início de cada linha:

sed 's/^[ \t]*//'

onde

  • ^ corresponde ao início de uma linha
  • [ \t] corresponde a um espaço ou a uma guia
  • * faz com que o bloco […] anterior funcione zero ou mais vezes, quantas vezes for possível (para que ele possa corresponder a vários espaços e / ou guias)

O comando s/…// inteiro substitui padrão ( ^[ \t]* neste caso) por nada.

Exemplo de uso:

sed 's/^[ \t]*//' <input.txt >output.txt

ou no lugar (nota -i não é requerida pelo POSIX):

sed -i 's/^[ \t]*//' file.txt
    
por 12.08.2018 / 12:05