linux命令输出行写在脚本里变空格

worktile 其他 56

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要将Linux命令输出的每行数据中的空格替换为其他字符,可以使用脚本实现。下面是一个实现该功能的示例脚本:

    “`bash
    #!/bin/bash

    # 执行命令并将输出保存到变量中
    output=$(你的命令)

    # 将变量中的空格替换为其他字符(例:替换为空字符串)
    modified_output=${output// /}

    # 输出修改后的结果
    echo “$modified_output”
    “`

    请将脚本中的「你的命令」替换为你希望执行的Linux命令。然后保存脚本文件,并将其设置为可执行权限。运行脚本后,将会输出将空格替换为其他字符后的结果。

    例如,如果你希望将命令`ls -l`的输出中的空格替换为下划线,可以按如下方式修改脚本:

    “`bash
    #!/bin/bash

    # 执行命令并将输出保存到变量中
    output=$(ls -l)

    # 将变量中的空格替换为下划线
    modified_output=${output// /_}

    # 输出修改后的结果
    echo “$modified_output”
    “`

    运行脚本后,将会输出类似于`-rw-r–r–__1__username__username____0__Oct__1__00:00__file.txt`的结果,其中将原本空格的地方替换为了下划线。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,我们可以使用一些命令来输出文本内容,并且也可以将这些命令写入脚本文件中。如果你希望在脚本中将每行的输出内容用空格分隔开,可以使用以下的方法:

    1. 使用echo命令输出文本内容,并利用重定向将输出结果保存到文件中。然后使用sed命令将换行符替换为空格。示例代码如下:

    “`bash
    echo “line1\nline2\nline3” > output.txt
    sed ‘:a;N;$!ba;s/\n/ /g’ output.txt
    “`

    2. 使用awk命令来处理文本内容。可以使用awk的ORS变量将输出的换行符修改为空格。示例代码如下:

    “`bash
    echo “line1\nline2\nline3” | awk ‘{printf(“%s “, $0)} END {print “”}’
    “`

    3. 使用tr命令来替换换行符为空格。示例代码如下:

    “`bash
    echo “line1\nline2\nline3″ | tr ‘\n’ ‘ ‘
    “`

    4. 使用read命令读取脚本中的每行内容,并使用变量将每行内容保存起来,最后使用空格将所有变量连接起来。示例代码如下:

    “`bash
    #!/bin/bash

    lines=””
    while IFS= read -r line; do
    lines+=” $line”
    done < file.txtecho $lines```5. 使用xargs命令将每行内容作为参数传递给输出语句,并利用echo命令输出内容时用空格进行分隔。示例代码如下:```bashcat file.txt | xargs -I {} echo -n "{} "```这些都是在Linux脚本中将输出结果的每行用空格分隔开的方法,你可以根据自己的需求选择适合的方法来处理文本输出。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要实现将Linux命令的输出结果中的行合并为一个空格,可以使用脚本来处理。以下是一个可以实现此功能的示例脚本:

    “`bash
    #!/bin/bash

    # 执行命令并将输出结果存储到变量中
    output=$(your_command_here)

    # 使用sed命令将换行符替换为空格
    output=$(echo “$output” | sed ‘:a;N;$!ba;s/\n/ /g’)

    # 打印处理后的输出结果
    echo “$output”
    “`

    这个脚本的基本思路是使用sed命令将命令输出的每一行末尾的换行符替换为空格。以下是脚本的详细解释:

    1. 第一行 `#!/bin/bash` 是用来指定此脚本使用的shell解释器,这里使用了bash。
    2. 第4行 `output=$(your_command_here)` 将执行你想要输出处理的命令,并将输出结果存储到一个变量 `output` 中。你需要将 `your_command_here` 替换为实际的命令,例如 `ls`。
    3. 第7行 `output=$(echo “$output” | sed ‘:a;N;$!ba;s/\n/ /g’)` 使用了echo命令和sed命令来处理输出结果。首先,通过echo命令将输出结果传递给sed命令。在sed命令中,`:a;N;$!ba;s/\n/ /g` 是一个替换操作,将所有的换行符替换为空格。这个替换操作中的 `:a;N;$!ba;` 是用来将所有的行合并到一起的,而 `s/\n/ /g` 是用来将换行符替换为空格的操作。
    4. 第10行 `echo “$output”` 打印处理后的输出结果。

    你只需要将 `your_command_here` 替换为你想要处理的实际命令,保存脚本并执行即可。脚本会将命令输出结果中的行合并为一个空格,并打印出来。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部