Articles of shell

Linux的头部/尾部有偏移量

有没有办法在Linux的要求头或尾,但有一个额外的logging偏移忽略。 例如,如果文件example.lst包含以下内容: row01 row02 row03 row04 row05 我使用head -n3 example.lst我可以得到1 – 3行,但如果我想要它跳过第一行,并获得第2 – 4行呢? 我问,因为一些命令有一个头可能不是在search结果内。 例如du -h ~ –max-depth 1 | sort -rh du -h ~ –max-depth 1 | sort -rh将返回主目录中按降序排列的所有文件夹的目录大小,但会将当前目录附加到结果集的顶部(即~ )。 头部和尾部手册页似乎没有任何偏移参数,所以也许有某种range命令,可以指定所需的行:例如range 2-10或什么?

getopts不会连续调用两次?

由于某些原因,这些选项可以正常工作,第一次调用lib_progress_bar -c "@" -u "_" 0 100 ,但是在第二次调用之后,一切都是默认的,因为它看起来像getopts c:u:d:p:s:%:m: flag第二次不是真的,或者至less在我使用set -x时候永远不会执行 #!/bin/bash lib_progress_bar() { local current=0 local max=100 local completed_char="#" local uncompleted_char="." local decimal=1 local prefix=" [" local suffix="]" local percent_sign="%" local max_width=$(tput cols) local complete remain subtraction width atleast percent chars local padding=3 while getopts c:u:d:p:s:%:m: flag; do case "$flag" in c) completed_char="$OPTARG";; u) […]

在shell中自定义选项卡完成

这可能比“自定义选项卡完成”有一个更好的名称,但这里的情况是: 通常,当我在命令行中input一个命令时,后跟{TAB}两次,我会得到当前目录中所有文件和子目录的列表。 例如: [user@host tmp]$ cat <TAB><TAB> chromatron2.exe Fedora-16-i686-Live-Desktop.iso isolate.py favicon.ico foo.exe James_Gosling_Interview.mp3 不过,我注意到至less有一个程序过滤这个列表: wine 。 考虑: [user@host tmp]$ wine <TAB><TAB> chromatron2.exe foo.exe 它有效地将结果过滤到*.exe 。 认为它可能是一些负责过滤的包装脚本,做了一个和它的file变成wine不是一个脚本,而是一个可执行文件。 现在,我不知道这个“filter”是否在程序本身编码,或者在默认的wine安装过程中指定,所以我不知道这个问题是更适合的stackoverflow或超级用户,所以我穿过我的手指,扔在这里。 我很抱歉,如果我猜错了。 (另外,我也检查了一些类似的问题,但大多数都是不相关的,或者涉及编辑shellconfiguration。) 所以我的问题是,这个“过滤”是如何完成的? 提前致谢。

如何在bash文件夹中的每个文件的开头添加一个string?

我希望能够在文件夹中的每个文本文件的开头添加一个string。 我怎样才能在Linux上使用bash来做到这一点?

将所有嵌套目录下的所有文件与shell匹配

有没有办法使用shell Globbing来识别嵌套的目录? 所以如果我有dir / dir1 / dir2 / dir3 / dir4 / dir5 / ..并且我拥有所有这些文件,那么匹配所有目录下的所有文件的等效匹配模式是什么,类似于 – 例如 – ls -R

如何使用awk来压缩文件

如何为压缩文件更改以下命令? awk 'FNR==NR { array[$1,$2]=$8; next } ($1,$2) in array { print $0 ";" array[$1,$2] }' input1.vcf input2.vcf 该命令正常工作的文件。 我需要更改压缩文件的命令。

以shell的文件夹path的最后部分

如果你input密码,你会得到如下的东西: /home/username/Desctop/myfolder/ 如何把最后一部分? 我的文件myfolderpath。 这一定很简单,但我找不到容易的解决scheme。 我知道如何在java中处理这个问题,而不是在shell中。 谢谢

从bash中的date中减去天数

我想从bash中的date中减去“天数”。 我正在尝试这样的事情 echo $dataset_date #output is 2013-08-07 echo $date_diff #output is 2 p_dataset_date=`$dataset_date –date="-$date_diff days" +%Y-%m-%d` # Getting Error

查找目录中的文件数量

在Linux中有没有什么方法可以计算O(1)中目录(即直接子项)中的文件数目(与文件数量无关),而无需首先列出目录? 如果不是O(1),是否有合理有效的方法? 我正在寻找替代ls | wc -l ls | wc -l 。

没有换行的猫文件

在* nix中,如何显示(cat)没有换行的文件:更长的行应该被剪切,以便它们适合屏幕的宽度。