Livre-se do nº da sequência na primeira coluna

1

Aqui eu quero me livrar do número da série na primeira capital de cada linha. Como eu faço neste arquivo?

     1  #
     2  # Automatically generated file; DO NOT EDIT.
     3  # OpenWrt Configuration
     4  #
     5  CONFIG_MODULES=y
     6  CONFIG_HAVE_DOT_CONFIG=y
     7  CONFIG_TARGET_sunxi=y
     8  # CONFIG_TARGET_sunxi_BPI-M1-Plus is not set
     9  CONFIG_TARGET_sunxi_BPI-M1=y
    10  # CONFIG_TARGET_sunxi_BPI-R1 is not set
    11  CONFIG_TARGET_BOARD="sunxi"
    12  CONFIG_TARGET_ARCH_PACKAGES="sunxi"
    13  CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16"
    14  CONFIG_CPU_TYPE="cortex-a8+vfpv3"
    15  CONFIG_LINUX_3_18=y
    16  CONFIG_DEFAULT_base-files=y
    17  CONFIG_DEFAULT_busybox=y
    18  CONFIG_DEFAULT_dnsmasq=y
    19  CONFIG_DEFAULT_dropbear=y
    20  CONFIG_DEFAULT_firewall=y
    21  CONFIG_DEFAULT_fstools=y
    22  CONFIG_DEFAULT_ip6tables=y
^^^^  ^^

Sinto muito. Eu deveria adicionar os espaços antes da sequência de No. e marcá-los. Existem espaços em cada linha. Na verdade, existem mais de 4000 linhas que eu tenho que lidar. Aqui eu acabei de postar 1-22. O comando sed deve funcionar. Eu esqueço de explicar explicitamente. O regex é novo e complexo para mim. Desejo que você me dê um conselho.

    
por jefferyear 20.02.2017 / 04:55

2 respostas

3

Não saber se o seu depois de C ou o line numbers eu ofereço estas soluções:

  1. Para se livrar do line numbers use:

    sed 's/^ *.[0-9]  //g' line.txt
    
    # Result
    
    #
    # Automatically generated file; DO NOT EDIT.
    # OpenWrt Configuration
    #
    CONFIG_MODULES=y
    CONFIG_HAVE_DOT_CONFIG=y
    CONFIG_TARGET_sunxi=y
    # CONFIG_TARGET_sunxi_BPI-M1-Plus is not set
    CONFIG_TARGET_sunxi_BPI-M1=y
    # CONFIG_TARGET_sunxi_BPI-R1 is not set
    CONFIG_TARGET_BOARD="sunxi"
    CONFIG_TARGET_ARCH_PACKAGES="sunxi"
    CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16"
    CONFIG_CPU_TYPE="cortex-a8+vfpv3"
    CONFIG_LINUX_3_18=y
    CONFIG_DEFAULT_base-files=y
    CONFIG_DEFAULT_busybox=y
    CONFIG_DEFAULT_dnsmasq=y
    CONFIG_DEFAULT_dropbear=y
    CONFIG_DEFAULT_firewall=y
    CONFIG_DEFAULT_fstools=y
    CONFIG_DEFAULT_ip6tables=y
    
  2. Para se livrar do C use:

    sed '5,22s/ [C]//g' line.txt
    
    
    # Results
    
    1  #
    2  # Automatically generated file; DO NOT EDIT.
    3  # OpenWrt Configuration
    4  #
    5 ONFIG_MODULES=y
    6 ONFIG_HAVE_DOT_CONFIG=y
    7 ONFIG_TARGET_sunxi=y
    8  #ONFIG_TARGET_sunxi_BPI-M1-Plus is not set
    9 ONFIG_TARGET_sunxi_BPI-M1=y
    10  #ONFIG_TARGET_sunxi_BPI-R1 is not set
    11 ONFIG_TARGET_BOARD="sunxi"
    12 ONFIG_TARGET_ARCH_PACKAGES="sunxi"
    13 ONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16"
    14 ONFIG_CPU_TYPE="cortex-a8+vfpv3"
    15 ONFIG_LINUX_3_18=y
    16 ONFIG_DEFAULT_base-files=y
    17 ONFIG_DEFAULT_busybox=y
    18 ONFIG_DEFAULT_dnsmasq=y
    19 ONFIG_DEFAULT_dropbear=y
    20 ONFIG_DEFAULT_firewall=y
    21 ONFIG_DEFAULT_fstools=y
    22 ONFIG_DEFAULT_ip6tables=y
    
  3. Para gravar no arquivo original e criar um backup , use a opção --in-place no comando sed :

    sed --in-place=.bak '5,22s/ [C]//g' line.txt
    
    sed --in-place=.bak 's/^ *.[0-9]  //g' line.txt
    
  4. Para escrever um novo arquivo:

    sed 's/^ *.[0-9]  //g' line.txt >> new_file.txt
    
    sed '5,22s/ [C]//g' line.txt  >> new_file.txt
    
  5. Para manter os espaços antes de cada linha:

    sed 's/^ *.[0-9]  /     /g' line.txt
    
por George Udosen 20.02.2017 / 06:03
0
awk '{print $2, $3, $4, $5, $6, $7, $8}' ur4000rowfile.txt

vai dar:

#      
# Automatically generated file; DO NOT EDIT.
# OpenWrt Configuration    
#      
CONFIG_MODULES=y      
CONFIG_HAVE_DOT_CONFIG=y      
CONFIG_TARGET_sunxi=y      
# CONFIG_TARGET_sunxi_BPI-M1-Plus is not set  
CONFIG_TARGET_sunxi_BPI-M1=y      
# CONFIG_TARGET_sunxi_BPI-R1 is not set  
CONFIG_TARGET_BOARD="sunxi"      
CONFIG_TARGET_ARCH_PACKAGES="sunxi"      
CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16"  
CONFIG_CPU_TYPE="cortex-a8+vfpv3"      
CONFIG_LINUX_3_18=y      
CONFIG_DEFAULT_base-files=y      
CONFIG_DEFAULT_busybox=y      
CONFIG_DEFAULT_dnsmasq=y      
CONFIG_DEFAULT_dropbear=y      
CONFIG_DEFAULT_firewall=y      
CONFIG_DEFAULT_fstools=y      
CONFIG_DEFAULT_ip6tables=y

Ou se você fizer isso:

awk '{$1=""; print $0}' ur4000rowfile.txt

Você receberá a saída assim:

 #
 # Automatically generated file; DO NOT EDIT.
 # OpenWrt Configuration
 #
 CONFIG_MODULES=y
 CONFIG_HAVE_DOT_CONFIG=y
 CONFIG_TARGET_sunxi=y
 # CONFIG_TARGET_sunxi_BPI-M1-Plus is not set
 CONFIG_TARGET_sunxi_BPI-M1=y
 # CONFIG_TARGET_sunxi_BPI-R1 is not set
 CONFIG_TARGET_BOARD="sunxi"
 CONFIG_TARGET_ARCH_PACKAGES="sunxi"
 CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16"
 CONFIG_CPU_TYPE="cortex-a8+vfpv3"
 CONFIG_LINUX_3_18=y
 CONFIG_DEFAULT_base-files=y
 CONFIG_DEFAULT_busybox=y
 CONFIG_DEFAULT_dnsmasq=y
 CONFIG_DEFAULT_dropbear=y
 CONFIG_DEFAULT_firewall=y
 CONFIG_DEFAULT_fstools=y
 CONFIG_DEFAULT_ip6tables=y

Finalmente, se você quiser usar a saída para criar um novo arquivo, simplesmente redirecione a saída para um novo arquivo como este:

awk '{print $2, $3, $4, $5, $6, $7, $8}' ur400rowfile.txt > urnewcleanfile.txt

ou isto:

awk '{$1=""; print $0}' ur400rowfile.txt > urnewcleanfile.txt
    
por Abhijit Ghosh 21.02.2017 / 15:30