我用作file1数据源,file2现在我需要确保每一行文本都file1出现在某处file2(并找出哪些行丢失,如果有的话).可能需要注意的是,尽管file1每行有一个搜索项,但这些术语可以出现在单词中间的任何位置file2.如果匹配不区分大小写也会有所帮助 - 如果文本中的文本file2甚至是全部大写,则无关紧要.
在该线file1包含空格和各种其他特殊字符一样--.
在另一篇文章中,我已经知道在我的.bashrc将当前执行的命令设置为终端标题时该放什么:
trap 'echo -ne "\033]2;$(history 1 | sed "s/^[ ]*[0-9]*[ ]*//g")\007"' DEBUG
Run Code Online (Sandbox Code Playgroud)
我想以一种方式调整它,如果当前没有命令正在运行,则标题将是最后一个命令的修改版本,例如方括号中的整个命令(如下所示:)[find . -maxdepth 1 -type f]。
如何实现这一目标?
如果我想迭代所有参数,那就很简单了for i in "$@"; do ....但是,假设我想从第二个参数开始,并且还使用参数的位置进行一些基本计算.
作为一个例子,我想将这些命令缩短为一个循环:
grep -v 'foobar' "$2" | grep -f $file > output1.txt
grep -v 'foobar' "$3" | grep -f $file > output2.txt
grep -v 'foobar' "$4" | grep -f $file > output3.txt
grep -v 'foobar' "$5" | grep -f $file > output4.txt
Run Code Online (Sandbox Code Playgroud)
我试过很多变化,比如for i in {2..5}; do grep -v 'foobar' "$$i" | grep -f $file > output$(($i-1)).txt; done; 然而,似乎bash扩展不会像这样工作.
编辑:
似乎我犯了一个错误,没有强调我需要利用参数的位置/数字(即2来自$2).这很重要,因为输出文件稍后会在脚本中单独使用.到目前为止,所有提供的答案似乎都是正确的,但我不知道如何使用它们来使用参数的"数字".
由于我.bashrc包含了很多别名,变量和许多其他改变bash行为的东西,我不时想要在gnome-terminal没有采购的情况下运行.我想知道是否有一些简单的方法如何做到这一点,而无需临时重命名.bashrc或删除其内容.
如何修改此代码,以便mogrify仅为动画 gif 的第一帧生成缩略图?:
mogrify -resize 80x80 -background white -gravity center -extent 80x80 -format jpg -quality 75 -path thumbnails *.gif
Run Code Online (Sandbox Code Playgroud) 例如,我有一个看起来像这样的文件:
2
4
7
-3
5
-2
Run Code Online (Sandbox Code Playgroud)
我需要输出看起来像这样:
2
6
13
10
15
13
Run Code Online (Sandbox Code Playgroud)