小编xhi*_*nne的帖子

将“jq”输出管道输送到“less”时如何保持颜色?

我有一个简单的 json 文件,如果我将“jq”的输出通过管道传输到“less”,颜色会被删除。

这有效:

# yey, lots of colors
jq "." /tmp/myfile.json
Run Code Online (Sandbox Code Playgroud)

这不起作用:

# ugly output :( , no colors
jq "." /tmp/myfile.json | less -R
Run Code Online (Sandbox Code Playgroud)

关于如何使“更少”保持颜色的任何想法?

unix linux pipe jq less-unix

11
推荐指数
1
解决办法
2815
查看次数

为什么我不能在 Git Bash 中使用“more”命令?

不过,“less”命令工作正常。

我可以使用“less”在屏幕上显示文件的一部分。

据说有一个“更多”命令,但是当我输入它时,它显示“bash:更多:找不到命令”。

git-bash less-unix

8
推荐指数
1
解决办法
9266
查看次数

如何使 git-log 向上滚动而不是向下滚动

每当我git log --all --graph --oneline --decorate在终端模拟器中查看输出时,都会在终端屏幕的顶部查看第一次提交。当我用 退出git log输出视图时q, 中的几行不再可见,因为屏幕底部附加了一些新行,用于下一个命令。

不过,通常这些顶行是最有趣的,因为它们类似于最近的 git 历史记录,所以我希望它们在我输入下一个 git 命令时仍然可见。

如何使git log输出显示在屏幕底部,即在底部查看第一个提交?您必须向上滚动才能查看较旧的提交。

注意:--reverse出于两个原因,该标志不是一个选项。

  1. 每次你必须一直滚动到底部才能查看第一次提交。那应该没有必要。我想从底部开始。
  2. 它不与--graph标志结合:fatal: cannot combine --reverse with --graph

terminal git-log less-unix

6
推荐指数
1
解决办法
2505
查看次数

Android - 如何检查当前设备所有者?

假设我有 root 设备,我可以通过 adb 设置设备所有者:

dpm set-device-owner xxx.package.xxx
Run Code Online (Sandbox Code Playgroud)

那么 - 是否有可能使用 adb 检查当前设备所有者?现在我必须禁用单一应用程序模式并进入安全设置,这对于多个设备来说不是最好的方法。

android adb device-owner

6
推荐指数
0
解决办法
2588
查看次数

如何通过 Java 控制台应用程序的分页执行“less”?

我需要less从我的 Java 控制台应用程序执行带有分页的命令。但是,我发现执行外部命令的唯一方法是Runtime.getRuntime().exec(),这要求我通过流写入/读取输入/输出。所以像catwork这样的命令(less实际上确实像cat),但我需要分页功能。

在 C 中,我会使用system(). 在 Ruby 中,Kernel.exec完成了这项工作。

有没有办法在Java中完成这项工作?

java console paging less-unix

5
推荐指数
1
解决办法
1557
查看次数

Git for Windows Bash shell 'less' 命令显示垃圾,同时显示来自 Git 日志调用的格式化文本

我已经为 Windows 安装了 Git,并且总体上对它提供的 Bash shell 中的功能集感到满意。我在使用别名时遇到了问题,该别名在我尝试过的其他任何地方都可以正常工作。

别名:

alias gl='git log --graph --format='\''%Cred%h%Creset %s    %C(yellow)%an | %C(cyan)%ad%Creset %C(green bold)%d%Creset'\''' | less
Run Code Online (Sandbox Code Playgroud)

在 MacOS bash 终端 Cygwin 中,当然在 Linux shell 中,别名会产生很好的结果。

在 Cygwin 下执行的别名

在 GFW 的 Bash shell 中,输出非常混乱:

Git For Windows Bash 下的别名

如果我直接运行命令,没有别名,它可以正常工作。所以我知道并不是 GFW 的 Bash shell 不知道如何解析我写的命令。

我的问题:如何让这个别名在 Git For Windows 下正常工作?

我愿意使用别名的替代方法。如果 linux 函数或真正的 Git 别名会更好地工作,我对这些替代方案感到满意。不过,弄清楚为什么会发生这种情况会很好。

更新/发现 问题似乎根本不在于解释别名。如果我将管道移至“少”,则输出显示正确。因此,看起来 Git Bash Shell 中实现的“less”命令对转义序列的解释(从字面上看,我猜)与其他实现不同。因此,再多的函数调用都无法解决核心问题。

git alias git-bash mingw-w64 less-unix

3
推荐指数
1
解决办法
1414
查看次数

退出 less 后,如何使 less 输出持久保留在终端上?

在我的旧系统(Linux Mint 18.3)上,每次我使用 less 命令并退出(q)时,最后查看的 less 页面仍保留在终端(bash)视图中

在我的新系统(最低 19.3)上,当我退出“less”时,一切都会消失,就好像 less 从未打开过(例如,类似于“nano”命令所发生的情况)

有没有办法让 less 的行为像我的旧系统一样?当使用 git log 等工作时,它非常有用

less-unix

3
推荐指数
1
解决办法
420
查看次数

获取命令“mv -n”的返回值linux

mv --help

-n, --no-clobber do not overwrite an existing file

user@pc:~/Desktop/test$ ls -l
total 16
-rw-r--r-- 1 user user 0 ago  6 20:28 bla
-rw-r--r-- 1 user user 0 ago  6 20:28 ble
user@pc:~/Desktop/test$ mv -n bla ble
user@pc:~/Desktop/test$
Run Code Online (Sandbox Code Playgroud)

有没有办法检查命令的返回值mv -n

是否可以执行类似于$?了解命令移动文件是否成功(返回 0)或失败(返回 1)的操作,因为目标文件夹中已经存在另一个同名文件?

shell mv

3
推荐指数
1
解决办法
3671
查看次数

鱼壳错误

我安装了nvm,它在我的 中插入了一些行.profile,我修改它们以使用 Fish shell 而不是 bash:

if [ "$BASH" ]
  if [ -f ~/.bashrc ]
    . ~/.bashrc
  end
end

mesg n or true

export NVM_DIR="/root/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] and . "$NVM_DIR/nvm.sh"  # This loads nvm
Run Code Online (Sandbox Code Playgroud)

..但我仍然收到此错误:

root@server011 ~# source /root/.profile
[: the last argument must be ']'
Run Code Online (Sandbox Code Playgroud)

shell ubuntu fish

2
推荐指数
1
解决办法
548
查看次数

R unix 终端寻呼机

我在 OS X 10.6 上使用 R 并且我更喜欢 unix 控制台而不是 R.app 来工作。如果我发出了一个help命令,例如?print帮助内容通过寻呼机(我试图打开mostless),然而这则掩藏起来的内容,如果我退出它把我带回了R输入线。

我真正想要的是,即使在我将其退出回 R(点击q)后,寻呼机输出仍会保留在屏幕上。

我在其他基于 Readline 的 Cli 上得到了这种期望的行为psql,例如,但不是在 R 上。有关如何配置的任何提示将不胜感激。

r readline less-unix

1
推荐指数
1
解决办法
924
查看次数

当应用于不相关的指针时,std::less 如何比 < 更安全?

我发现我应该std::less用来比较我的对象,以便能够比较 Unrelated 指针(来自不同的序列),因为<如果在那些不相关的指针上使用,只使用关系运算符会产生 UB。

  • 所以为了练习,我已经实现了我的compare功能:

      #include <iostream>
      using namespace std;
      #include <functional>
    
    
      template <class T>
      constexpr int compare(T const& x, T const& y)
      {
          if(std::less<T>()(x, y))
              return -1;
          if(std::less<T>()(y, x))
              return 1;
          return 0;
      }
    
    
      int main()
      {
          std::cout << compare(std::string("Hello"), std::string("hello")) << std::endl;
          std::cout << compare(std::string("hello"), std::string("Hello")) << std::endl;
          std::cout << compare(std::string("hello"), std::string("hello")) << std::endl;
          std::cout << compare(-7, 1) << std::endl;
    
          int* p1{new int(10)};
          int* p2{new int{4}};
          std::cout << compare(p2, p1) << std::endl; …
    Run Code Online (Sandbox Code Playgroud)

c++ comparison pointers

1
推荐指数
1
解决办法
92
查看次数

标签 统计

less-unix ×7

git-bash ×2

shell ×2

adb ×1

alias ×1

android ×1

c++ ×1

comparison ×1

console ×1

device-owner ×1

fish ×1

git ×1

git-log ×1

java ×1

jq ×1

linux ×1

mingw-w64 ×1

mv ×1

paging ×1

pipe ×1

pointers ×1

r ×1

readline ×1

terminal ×1

ubuntu ×1

unix ×1