• Linux替换文件行首的空白字符


    使用命令sed、cp、tail、cat

    1、拷贝一个任意文件(生产环境切勿操作)

    cp /etc/profile /tmp

    查看文件部分格式

    cat /tmp/profile

    # /etc/profile
    
    # System wide environment and startup programs, for login setup
    # Functions and aliases go in /etc/bashrc
    
    # It's NOT a good idea to change this file unless you know what you
    # are doing. It's much better to create a custom.sh shell script in
    # /etc/profile.d/ to make custom changes to your environment, as this
    # will prevent the need for merging in future updates.
    
    pathmunge () {
        case ":${PATH}:" in
            *:"$1":*)
                ;;
            *)
                if [ "$2" = "after" ] ; then
                    PATH=$PATH:$1
                else
                    PATH=$1:$PATH
                fi
        esac
    }
    
    
    if [ -x /usr/bin/id ]; then
        if [ -z "$EUID" ]; then
            # ksh workaround
            EUID=`/usr/bin/id -u`
            UID=`/usr/bin/id -ru`
        fi
        USER="`/usr/bin/id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
    .....
    .....
    .....

    2、使用sed命令替换

    sed 's/^ *//' /tmp/profile

    root@CentOS7[12:31:34]:/tmp# sed 's/^ *//' profile 
    # /etc/profile
    
    # System wide environment and startup programs, for login setup
    # Functions and aliases go in /etc/bashrc
    
    # It's NOT a good idea to change this file unless you know what you
    # are doing. It's much better to create a custom.sh shell script in
    # /etc/profile.d/ to make custom changes to your environment, as this
    # will prevent the need for merging in future updates.
    
    pathmunge () {
    case ":${PATH}:" in
    *:"$1":*)
    ;;
    *)
    if [ "$2" = "after" ] ; then
    PATH=$PATH:$1
    else
    PATH=$1:$PATH
    fi
    esac
    }
    
    
    if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
    # ksh workaround
    EUID=`/usr/bin/id -u`
    UID=`/usr/bin/id -ru`
    .....
    .....
    .....

    上述方法仅仅是输出到屏幕,如果想要应用到文件加上 -i参数即可

    sed -i 's/^ *//' /tmp/profile

  • 相关阅读:
    并发编程 Outline of Netty
    SpringCloud(CI/CDNexus+Gitea+Jenkins)
    ubuntu 桌面卡死 解决方法
    xrdp 服务器端及客户端配置
    linux 用户 配置
    windows 配置 多用户 远程桌面
    redis启动报无权限
    lambda表达式常用(常更)
    ABAP字符串控制函数
    [转]销售凭证处理的User Exit
  • 原文地址:https://www.cnblogs.com/stationing/p/11976076.html
Copyright © 2020-2023  润新知