shell命令按回车键一直换行

问题遇到的现象和发生背景

搜索文件里面的内容,结果按回车键一直换行。

img

操作环境、软件版本等信息

limux

我想要达到的结果

执行shell命令

尝试exit、quit,或者ctrl+z快捷键退出,然后检查一下你的shell命令,从你的截图信息来看,应该是你的双引号有的是中文有的是英文,所有才导致按回车键一直换行。

  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答: 在linux操作系统下执行shell命令时,在搜索文件内容时结果一直换行的问题,可以使用tr命令将换行符替换成空格。具体操作步骤如下: 1. 首先在终端中打开要搜索的文件,如下所示:

    $ cat test.txt
    Hello world
    This is a test file
    The content is for testing the shell command
    
    1. 执行shell命令进行搜索,将搜索结果通过管道传输给tr命令,并将换行符替换成空格,如下所示:
    $ grep "test" test.txt | tr '\n' ' '
    The content is for testing the shell command
    

    这样,搜索结果的每一行就会被替换成一个空格,方便查看所有匹配的内容。如果需要将搜索结果输出到文件中,可以使用重定向符号,如下所示:

    $ grep "test" test.txt | tr '\n' ' ' > result.txt
    

    这样,搜索结果就会被输出到result.txt文件中。

    如果想要避免每次都要输入命令,可以将命令写入shell脚本中,供以后使用。具体操作步骤如下: 1. 在终端中创建一个新的shell脚本,如下所示:

    $ vim search.sh
    
    1. 在脚本中输入以下内容:
    1
    2
    #!/bin/bash
    grep "$1" $2 | tr '\n' ' '
    

    其中,$1和$2分别代表第一个和第二个参数,也就是搜索关键字和要搜索的文件名。 3. 将脚本保存并退出编辑器。 4. 在终端中执行以下命令将脚本文件变成可执行文件:

    $ chmod +x search.sh
    
    1. 将搜索关键字和要搜索的文件名作为参数传递给脚本,如下所示:
    $ ./search.sh "test" test.txt
    The content is for testing the shell command
    

    这样就完成了在搜索文件内容时避免一直换行的操作,并且可以通过脚本快速实现该操作。

应该是进去其他命令里了,输入quit可以退出,重新进去shell命令行!