Tag: bash

Linux:在同一行上的特定单词之后提取一个单词

我是一个新的Linux用户,我是自学的,所以我很抱歉,如果这个问题是愚蠢的。 我在网上search,但无法find一个正确的答案..我怎样才能提取一个字在Linux(csh)的特定单词后? 更确切地说,我有一个文件,其中有一行看起来像这样的文件: [一些无用的数据] –pe_cnt 100 –rd_cnt 1000 [更多数据] 我想提取–pe_cnt字之后的数字100 。 我不能使用'sed',因为只有当你想要提取整行时才有效。 也许我可以用'awk'? 此外,我有多个文件有不同的值而不是100,所以我需要的东西,提取的价值,但不依赖于价值。

使用bash水平sorting数据

我有一个文件充满了列中的数据 sarah mark john 10 20 5 xyz 我想sorting的数据,所以列保持不变,但第二行是在增加的顺序,所以它看起来像这样: john sarah mark 5 10 20 zxy 我一直在看sorting命令,但只能find垂直sorting,而不是水平。 我很高兴使用任何工具,任何帮助表示赞赏。 谢谢!

在Bash中使用大小写范围的数字

我正在尝试在Bash中使用case (在Linux中)。 如果X在460和660之间,则输出X信息。 如果X在661和800之间,则做其他事情。 等等。 现在这是我有: case $MovieRes in [461-660]*) echo "$MovieName,480p" >> moviefinal ;; [661-890]*) echo "$MovieName,720p" >> moviefinal ;; [891-1200]*) echo "$MovieName,1080p" >> moviefinal ;; *) echo "$MovieName,DVD" >> moviefinal ;; esac 但不知何故480p,720p或1080p的很多都是以DVD结尾的。 variables$MovieRes是一个简单的列表,对每一行显示一个介于1和1200之间的数字。根据这个值, case决定应用哪个“case”。 我想知道如何实际使用case来完成这个,因为处理这样​​的范围有点混乱。

replaceXML文件中的dynamic内容

快速总结:我需要创build一个Bash脚本来每周自动更改节点内的文本。 该脚本将匹配节点并replace其中的文本(如果这是可能的)? 我将如何做到这一点? 总结:我托pipe了一个有商店的Minecraft服务器,每个商店在/ ShowcaseStandalone / ffs-storage /目录下都有自己的.xml文件。 每个星期天我的服务器重新启动,并执行几个命令到terminal重置几件事情。 我试图改变的一件事是商店之一。 我想要更改节点<itemstack>中的文本和节点<price>中的文本。 我只是想从另一个文件夹中的.txt文件中获取文本,并将其插入到该节点中。 问题是,节点中的文本每周都会改变。 有什么方法可以用bashreplace两个节点中的特定行或文本吗? XML文件: <?xml version="1.0" encoding="UTF-8"?> <scs-shop usid="cac8480951254352116d5255e795006252d404d9" version="2" type="storage"> <enchantments type="string"/> <owner type="string">Chadward27</owner> <world type="string">Frisnuk</world> <itemStack type="string">329:0</itemStack> <activity type="string">BUY</activity> <price type="double">55.0</price> <locX type="double">487.5</locX> <locY type="double">179.0</locY> <locZ type="double">-1084.5</locZ> <amount type="integer">0</amount> <maxAmount type="integer">0</maxAmount> <isUnlimited type="boolean">true</isUnlimited> <nbt-storage usid="23dffac5fb2ea7cfdcf0740159e881026fde4fa4" version="2" type="storage"/> </scs-shop> 操作系统: Linux Ubuntu 12.04

可选的参数与getopts

while getopts "hd:R:" arg; do case $arg in h) echo "usgae" ;; d) dir=$OPTARG ;; R) if [[ $OPTARG =~ ^[0-9]+$ ]];then level=$OPTARG else level=1 fi ;; \?) echo "WRONG" >&2 ;; esac done level指-R的参数,dir指-d的参数 当我input./count.sh -R 1 -d test/它工作正常 当我input./count.sh -d test/ -R 1它正常工作 但是我想在input./count.sh -d test/ -R或./count.sh -R -d test/ 这意味着我希望-R有一个默认值,命令的顺序可以更灵活。

为什么“本地”扫描命令的返回码?

这个Bash片段正如我所料: $ fun1() { x=$(false); echo "exit code: $?"; } $ fun1 exit code: 1 但是,这个使用local不是: $ fun2() { local x=$(false); echo "exit code: $?"; } $ fun2 exit code: 0 任何人都可以解释此行为?

如何在文件查找中使用正则expression式

我试图在3天或更久之前查找所有文件的date和所有文件。 find /home/test -name 'test.log.\d{4}-d{2}-d{2}.zip' -mtime 3 它没有列出任何东西。 这是怎么回事?

使用printf将整数ASCII值赋给BASH中的字符

价值作品的特点: $ printf "%d\n" \'A 65 $ 我有两个问题,第一个是最重要的: 我如何拿65并把它变成A? \ A使用printf将ASCII字符转换为其值。 特定于printf的语法,还是在BASH的其他地方使用? (这样的小string很难Google。)

如何直接在git别名中embeddedbash脚本

我可以embedded下面的bash shell代码: for name in $(git diff –name-only $1); do git difftool $1 $name & done 直接创build一个git别名: git config –global alias.diffall ***my-bash-code-here*** 这导致从我以前的问题/答案上,我把代码放到.sh文件,然后别名到文件: git config –global alias.diffall '!sh diffall.sh' 但是在简单的永无止境的追求中,有一种方法可以跳过文件并直接将代码插入到别名中? 我无法弄清楚格式

从vim执行的命令不识别bash命令别名

我在Mac上使用bash,其中一个别名是这样的 alias gitlog='git –no-pager log -n 20 –pretty=format:%h%x09%an%x09%ad%x09%s –date=short –no-merges' 但是,当我这样做 :! gitlog 我明白了 /bin/bash: gitlog: command not found 我知道我可以在我的.gitconfig中添加这样的别名 [alias] co = checkout st = status ci = commit br = branch df = diff 不过,我不想将所有的bash别名添加到.gitconfig。 那不是干的。 有更好的解决scheme吗?