Articles of shell

如何从Linux shell中的文件中的二维数组中select一个元素

我是新的shell脚本,我需要的是从包含2d数组的文件中读取。 假设有一个名为test.dat的文件,其中包含以下值: – Paris London Lisbon – Manchester Nurnberg Istanbul – Stockholm Kopenhag Berlin 在Linux bash脚本中从这张表中select一个元素最简单的方法是什么? 例如,用户input-r 2 -c 2 test.dat,这意味着select在行[2]和列[2](Nurnberg)的元素。 我已经看到了读取命令和谷歌search,但大部分的例子是关于1D数组。 这个看起来很熟悉,但是完全不能理解。

nohup每天创build新文件nohup.out

我不知道我能不能用nohup来做,但这是个问题….我有这个命令: nohup java -XX:MaxHeapFreeRatio=70 -Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof -jar $iscsiJar & 我希望当天改变我保存的前一天nohupYYYYMM01.out并创build另一个文件nohupYYYYMM02.out,当然,与出杀我的过程。 =) 是否有可能,我怎么编程在shell脚本? 非常感谢!

shell脚本将数据parsing为variables,然后更新数据库

我的networking上有一个设备将数据发布到html页面。 我需要能够从页面收集数据并将其插入到我的数据库中,以便我可以对数据进行历史参考。 我能够使用以下命令从网站中检索字段。 结果返回由换行符分隔的三个数字。 我想运行这个作为一个Linux的cron作业,所以我想用一个Linux脚本来: 将数据(数字)保存到variables中 连接到我的数据库,并将数据插入表中 我的命令行检索信息如下。 这对parsing设备中的数据非常有用: curl -s http://local_device.com/dtm.html?address=C5:0 | grep -Po '[0-9]+(?=[^0-9]+(C5:2<|C5:6<|C5:13))'

在busybox sh中,不能递增填充8的数字

这是我用来保存照相机文件的代码,并从0001开始命名。 相机正在运行Busybox,并且里面有一个灰壳。 代码是基于查尔斯·达菲在此之前的回答。 #!/bin/sh # Snapshot script cd /mnt/0/foto sleep 1 set — *.jpg # put the sorted list of picture namefiles on argv ( the number of files on the list can be requested by echo $# ) while [ $# -gt 1 ]; do # as long as there's more than one… shift […]

如何通过unix中的数据来validation组的数量

我有一个logging列表如下 资源: a,yes a,yes b,No c,N/A c,N/A c,N/A d,xyz d,abc d,abc 输出: a, Yes 2 b, No 1 c, N/A 3 d, xyz 1 d, abc 2 c, N/A "File is not correct" 这里的“是”和“否”是可以接受的单词,如果其他的单词数大于单个$ 1值的“是”或“否”字数,那么我们发出一个类似“文件不好” 我已经尝试了下面的脚本 awk -F, '{a[$1]++;}END{for (i in a)print i, a[i];}' filetest.txt

ssh从php访问ec2

从本地ubuntu linux机器通过ssh连接ec2机器访问。 当我从terminal运行这个PHP脚本它执行得很好,并在文件中写入尾部的条目。 当我从浏览器运行得到这个错误在Apache错误日志 ssh:无法parsing主机名称proxy2:名称或服务未知 发现它由于Apache用户权限问题。 不pipe我的猜测是对还是错,我都不确定。 任何人都可以帮助我解决这个问题。 php代码: – <?php $ss = 'ssh proxy2 '.'tail -n 3 /out/speed_log.txt.1'.' > proxy2temp1'; system($ss); ?>

在shell脚本中使用cd和cd命令是另一个目录中的一些计算的好方法

我在我的shell脚本中使用cd进入一个计算目录,并再次使用cd – 返回。 这是一个很好的使用方法吗? 我的脚本是: input_dir=/home/abc/2001/01/ cd $input_dir #Execute some programm with ifile.txt eg awk '$1 > 99 {printf "%.2f" "$1"}' ifile.txt > ofile.tx cd – 或者我们应该总是提到path名? 喜欢: input_dir=/home/abc/2001/01/ awk '$1 > 99 {printf "%.2f" "$1"}' $input_dir/ifile.txt > $input_dir/ofile.txt 你能否build议如果有什么简单的方法来减less文本?

如何在bash中间接地分配一个variables来从Standard In,File和执行输出中获取多行数据

我在这里和其他地方发现了许多片段,回答了这个问题的一部分。 我甚至设法以低效的方式在很多步骤中做到这一点。 如果可能的话, 我真的很想find执行这个任务的单行执行 ,而不是分配给一个variables,并复制它几次来执行任务。 例如 executeToVar () { # Takes Arg1: NAME OF VARIABLE TO STORE IN # All Remaining Arguments Are Executed local STORE_INvar="${1}" ; shift eval ${STORE_INvar}=\""$( "$@" 2>&1 )"\" } 总的来说,如果$ executeToVar SOME_VAR ls -l * #实际上会填充SOME_VAR和从其余参数中取出的ls -l *命令执行的输出。 但是,如果命令在最后输出空行,(对于例如- echo -e -n '\n\n123\n456\n789\n\n'应该在开始和结束处具有2个新行)这些被bash的子执行过程所剥夺。 我在其他类似的post中看到,通过在stream的末尾添加一个标记“x”来解决这个问题,例如将子执行转化为如下forms: eval ${STORE_INvar}=\""$( "$@" 2>&1 ; echo […]

阅读pdf文件的内容

有没有一个命令行工具来读取Linux上的PDF文件。请为此指出适当的url。 谢谢..

在Unix中对find命令进行sorting以遵守自定义顺序

我有一个脚本,输出文件path(通过find ),我想基于非常具体的自定义逻辑进行sorting : 第一个sorting键:我希望第二个和第三个分隔的字段(如果存在的话)使用基于我提供的键列表的 自定义sorting进行sorting – 但不包括数字后缀。 通过下面的示例input,密钥列表是: rp,alpha,beta-ri,beta-rs,RC 第二sorting键:按每行的结尾数字进行数字sorting。 给出以下示例input(注意每行的/foo/bar/test/example/8.2.4.0前缀是附带的): /foo/bar/test/example/8.2.4.0-RC10 /foo/bar/test/example/8.2.4.0-RC2 /foo/bar/test/example/8.2.4.0-RC1 /foo/bar/test/example/8.2.4.0-alpha10 /foo/bar/test/example/8.2.4.0-beta-ri10 /foo/bar/test/example/8.2.4.0-beta-ri2 /foo/bar/test/example/8.2.4.0-beta-rs10 /foo/bar/test/example/8.2.4.0-beta-rs2 /foo/bar/test/example/8.2.4.0-alpha2 /foo/bar/test/example/8.2.4.0-rp10 /foo/bar/test/example/8.2.4.0-rp2 我预计: /foo/bar/test/example/8.2.4.0-rp2 /foo/bar/test/example/8.2.4.0-rp10 /foo/bar/test/example/8.2.4.0-alpha2 /foo/bar/test/example/8.2.4.0-alpha10 /foo/bar/test/example/8.2.4.0-beta-ri2 /foo/bar/test/example/8.2.4.0-beta-ri10 /foo/bar/test/example/8.2.4.0-beta-rs2 /foo/bar/test/example/8.2.4.0-beta-rs10 /foo/bar/test/example/8.2.4.0-RC1 /foo/bar/test/example/8.2.4.0-RC2 /foo/bar/test/example/8.2.4.0-RC10