小编Tim*_*ote的帖子

Bash如何将stderr捕获到变量?

Bash如何将stderr捕获到变量?

我想在我的bash脚本中做这样的事情

sh -c path/myExcecutable-bin 2>&1 =MYVARIABLE
Run Code Online (Sandbox Code Playgroud)

如何将stderror输出发送给变量?

bash stderr

43
推荐指数
1
解决办法
4万
查看次数

批量重命名命令行和Xargs中的文件

所以,我有以下结构:

.
..
a.png
b.png 
c.png
Run Code Online (Sandbox Code Playgroud)

我跑了一个命令来调整它们的大小

ls | xargs -I xx convert xx -resize xx.jpg
Run Code Online (Sandbox Code Playgroud)

现在我的目录看起来像这样

.
..
a.png.jpg
a.png
b.png.jpg
b.png
c.png.jpg
c.png
Run Code Online (Sandbox Code Playgroud)

第一个问题是,我如何重命名文件,以便我可以只有一个扩展名.不是两个.(基本上,我该如何清理原来的错误)?

第二个问题是,在将来,使用xargs,如何将文件的扩展名更改为第二个命令?

unix linux shell command-line xargs

26
推荐指数
5
解决办法
3万
查看次数

如何在Iterm中插入制表符?

简单地说,我知道你可以做ctrl+ v+ tab在bash语句中插入一个物理真正的制表符.但我如何为iTerm做同样的事情呢?

linux bash terminal iterm

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

查询Java中的接口

可以说我有两个接口A和接口B:

public interface A {
  public int data();
}

public interface B {
  public char data();
}
Run Code Online (Sandbox Code Playgroud)

接口A有一个方法public int data(),接口B有一个方法public char data().

当我在某个C类中实现接口A和B时,编译器给出了一个错误.这是java中的一个缺陷吗?我认为这是我们不允许扩展多个类的主要原因之一,那么当这个问题仍然存在时,为什么我们允许实现多个接口呢?

java overriding interface object-oriented-analysis

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

使用linux命令sed选择多行

我有一个示例[文件],我想抓住第3-6行和第11 - 13行,然后用一行命令排序并保存为3_6-11_13.这些是我到目前为止使用的命令,但我没有得到所需的输出:

sed -n '/3/,/6/p'/11/,/13/p file_1 > file_2 | sort -k 2 > file_2  & sed -n 3,6,11,13p file_1 > file_2 | sort -k 2 file_2.
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来缩短这一点.我曾经考虑过使用awk,但到目前为止我一直在使用sed.

linux shell awk sed

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

Vim HereDoc 高亮

我想在 bash heredoc 中突出显示语法。此外,我希望在 heredoc 中突出显示 bash 变量取消引用和命令替换。

使用这些说明作为起点,我能够通过检查sh.vim添加变量取消引用。我想您可以以类似的方式完成命令替换。

let s:bcs = b:current_syntax

unlet b:current_syntax
syntax include @YAML syntax/yaml.vim

syntax region hereDocYAML matchgroup=Statement start=/<<-\?\s*\z(YML\)/ end=/^\s*\z1/ contains=@YAML,hereDocDeref,hereDocDerefSimple

syn match  hereDocDerefSimple  "\$\%(\h\w*\|\d\)"
syn region hereDocDeref  matchgroup=PreProc start="\${" end="}"  contains=@shDerefList,shDerefVarArray

hi def link hereDocDeref PreProc
hi def link hereDocDerefSimple PreProc
Run Code Online (Sandbox Code Playgroud)

我的问题是,这似乎并没有工作,任何类型的块(iffunctionfor等)。例如:

突出例子

我唯一知道的是,这不是缩进问题。更改缩进没有效果,在块外使用缩进可以正常工作。

vim bash syntax-highlighting heredoc vim-syntax-highlighting

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

如何在vi/vim编辑器中获取用户名?

我试图找到调用vi/vim编辑器的当前用户的用户名/全名.

:autocmd bufnewfile *.sh exe "1," . 10 . "g/AUTHOR :.*/s//AUTHOR : " .getlogin() 
Run Code Online (Sandbox Code Playgroud)

我尝试使用getlogin(),getuser(),getpwnam()但没有任何效果.

vi vim

3
推荐指数
2
解决办法
2771
查看次数

有关bash脚本的快速帮助,以删除大文件的行

我需要从文件中删除行,而行上的内容以制表符分隔. - 我需要首先使用tab分割线,然后计算第3段的长度. - 如果长度大于1000,我将从文件中删除该行.

我想使用sed和awk,但很难快速启动.有人可以帮忙吗?:)

非常感谢提前!

bash awk sed

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