Articles of bash

将每个测序数据提取为单个文件

有一个ecoli.ffn文件,其中的行显示了测序基因的名称: $head ecoli.ffn >ecoli16:g027092:GCF_000460315:gi|545267691|ref|NZ_KE701669.1|:551259-572036 ATGAGCCTGATTATTGATGTTATTTCGCGT AAAACATCCGTCAAACAAACGCTGATTAAT >ecoli16:g000011:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042 GTGTACGCTATGGCGGGTAATTTTGCCGAT >ecoli16:g000012:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042 GTGTACGCTATGGCGGGTAATTTTGCCGAT CTGACAGCTGTTCTTACACTGGATTCAACC CTGACAGCTGTTCTTACACTGGATTCAACC 如上所示,基因名称在第一和第二个结肠之间: g027092 g000011 g000012 我想使用ecoli.ffn生成三个文件: g027092.txt , g000011.txt , g000012.txt ,包含每个测序数据。 例如, g027092.txt将包含原始数据,但没有标题 : $cat g027092.txt ATGAGCCTGATTATTGATGTTATTTCGCGT AAAACATCCGTCAAACAAACGCTGATTAAT 如何做到这一点?

如何在Bash循环中增加一个date

我正在研究这个基本上在两个date上工作的函数。 一个是当前date,另一个是1个月前的date。 这里是代码: dateTale=$(date -d "$(date) – 1 month" +%Y%m%d) now=$(date +%Y%m%d) while ["$dateTale" -lt "$now"] do $dateTale=$(date -d "$dateTale + 1 day" +%Y%m%d) echo "adding" done 正如你可以看到我试图增加dateTale,直到它到达当前date,bu我继续得到错误消息:[20120703:命令没有find我试图从while语句中删除引号,但仍然是相同的错误消息。 但即使解决了,将计算实际date值或数字? 有什么build议?

Linux:终止一系列进程的最可靠的方法

如果我们假设:在Linux中终止一系列进程的最好方法是什么: 在我们开始清理之前,家庭中的任意进程可能会被杀死/终止; 结果,如果subprocess没有终止,他们的PPID将是1 进程可以更改进程组 我正在看的特定场景是Bash,但更一般的技术,更好。

为什么我的bash脚本在空的空间上打破?

我有一个shell脚本,正在打破虚拟主机和*之间的第42行的空间。 结果,唯一的东西是echo'd到控制台 <VirtualHost 我想要发生的是我的整个string被回显到控制台。 <VirtualHost *:80> DocumentRoot /Applications/MAMP/htdocs/web ServerName web.localhost <Directory /Applications/MAMP/htdocs/web> Options Indexes FollowSymLinks MultiViews +Includes AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> 这里是我的脚本供参考: #!/bin/bash # This script should be used to automate the web site installation checkFileForString () { # $1 = file # $2 = regex # $3 = text […]

在Bash中parsingSNMP输出

我需要处理以下命令的文本输出: snmpwalk -v2c -c community 192.168.122.15 .1.3.6.1.4.1.14823.2.2.1.4.1.2.1.39 原始输出是: SNMPv2-SMI::enterprises.14823.2.2.1.4.1.2.1.39.252.200.151.233.54.69.197.39.5.77 = STRING: "Android" 我需要输出看起来像 197.39.5.77="Android" 197.39.5.77是=符号前的最后四位数字。

Bash IP IF THEN ELSE声明

我需要从几台机器上运行一个脚本,但是每台机器都需要执行独特的命令。 我以为bash脚本能够做到这一点,但是我对这个部门不太了解。 我需要的代码看起来类似于下面的代码(或将它)。 我知道,这是远远不够完美或function,但它真的只是有助于expression我在找什么。 有人可以帮我用这个脚本? #/bin/bash IP= ifconfig eth0 | grep inet | grep -v inet6 | cut -c 7-17 If [$IP -eq 192.168.32.1] then mkdir IPFolder-1 more code… else if [$IP -eq 192.168.32.2] then mkdir IPFolder-2 more code… else if [$IP -eq 192.168.32.5] then mkdir IPFolder-5 more code…

脚本内ps aux和`ps aux`之间的不同结果

我有一个bash脚本( ScreamDaemon.sh ),其中的一个检查,它没有运行的例子已经被添加。 numscr=`ps aux | grep ScreamDaemon.sh | wc -l`; if [ "${numscr}" -gt "2" ]; then echo "an instance of ScreamDaemon still running"; exit 0; fi 通常情况下,如果没有其他脚本运行, ps aux | grep ScreamDaemon.sh | wc -l应该返回2 (它应该find自己和grep ScreamDaemon.sh ),但是它返回3 。 所以,我试图分析发生了什么,并添加一些回声看到这个: 我已经添加到脚本中的行 ps aux | grep ScreamDaemon.sh ps aux | grep ScreamDaemon.sh | wc […]

Sed来遍历文件并replace占位符variables

我希望使用bash来遍历一个文件,并将所有的占位符varialbes变成真正的variables: $ PLACEHOLDER_USER – > $ USER $ PLACEHOLDER_STATE – > $ STATE 它需要与任何以占位符开始的variables一起工作,并把它变成它的实际variables。 这是迄今为止的代码: $FILE="/mytest.conf" sed -i "s/$var1/$var2/g" "$FILE" 不过,我不知道如何让它遍历整个文件,我不知道如何使任何variables以$ PLACEHOLDER_开头 任何帮助,将不胜感激。

如何读取csv文件到bash脚本中的数组

我写了下面的代码来读取我的csv文件(它有固定数量的列,但不是固定的行数)到我的脚本作为一个数组。 我需要它是一个shell脚本。 usernames x1 x2 x3 x4 username1, 5 5 4 2 username2, 6 3 2 0 username3, 8 4 9 3 我的代码 #!/bin/bash set oldIFS = $IFS set IFS=, read -a line < something.csv 我用过的另一个选项是 #!/bin/bash while IFS=$'\t' reaad -r -a line do echo $line done < something.csv 对于这两个我试过一些testing代码,看看arrays的大小将是什么,我似乎得到了第一个10的大小,但arrays只输出用户名。 对于第二个,我似乎得到0的大小,但数组输出整个csv。 帮助非常感谢!

在ShellScript中,基于Curl输出分配variables

我试图编写一个shellcript,将分配一个variables来curl输出。 当我从命令行运行这个curl命令的输出是这样的: $curl "test.test.com/landing/505978290?c=Area%20Rug" www.test.com/test/test?test=test 去这个url应该只是输出一个文本文件与另一个url。 我想testing这第二个url是它应该是的url。 url = $(curl "test.test.com/landing/505978290?c=Area%20Rug") if [$url -gt "www.tazinga.com/landing/505978290?c=area%20rug&si=gw&alt_css=silver&sv=34&"] echo ""test.test.com/landing/505978290?c=Area%20Rug did not redirect properly" else echo "Right URL" fi 但是,当我运行的shellcript我得到这个输出: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 75 0 75 0 0 997 0 –:–:– –:–:– […]