是`less 文本文件| col` 和 `cat textfile` 相同吗?

是`less 文本文件| col` 和 `cat textfile` 相同吗?

less textfile | colcat textfile完成同样的事情吗?

我想知道是否man mysql | col -b > textfileman mysql > textfile这样做?

答案1

这是完全不同的,因为less可以进行各种类型的转换,例如 via $LESSOPEN

答案2

它并不完全相同,因为何时col可以对 的输出执行某些操作less

这里重要的一点是,less如果输入文件的输出不是 tty,则将其复制到输出。你可以看到在less-451 - main.c - 第 222 行:

    /*
     * Set up terminal, etc.
     */
    if (!is_tty)
    {
        /*
         * Output is not a tty.
         * Just copy the input file(s) to output.
         */
        SET_BINARY(1);
        if (nifile() == 0)
        {
            if (edit_stdin() == 0)
                cat_file();
        } else if (edit_first() == 0)
        {
            do {
                cat_file();
            } while (edit_next(1) == 0);
        }
        quit(QUIT_OK);
    }

因此,要执行与 相同的操作cat file,您可以:

less file | grep ^

相关内容