Articles of shell

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 –:–:– –:–:– […]

查找和sorting目录

我需要find不超过30天的目录,然后按datesorting(从最新到最旧)。 这是我的命令: find /tmp/logs/ -maxdepth 1 -mindepth 1 -type d -mtime -30 问题显然是sorting部分:)

无法只用Linux date命令设置一年

出于某种原因,我只能使用date命令更新一年 date Tue Mar 4 20:15:42 IST 2014 date '+%Y' -s '2013' date Tue Mar 4 20:13:01 IST 2014 我在RedHat和Ubuntu上都试过 NTP没有运行…

在linux上完成密码字段scp命令

我写一个shell脚本来使用scp命令(ssh)将文件传输到计算机。 这显然是密码保护有没有一种方法,无论是…禁用密码或自动为客户完成密码? 这纯粹的易用性,我不知道是否有可能(即时通讯相当新的Linux),任何帮助或指针,将不胜感激。 提前致谢

从命令行使用短标签运行PHP

我有一个很多文件使用的框架 当我从框架中包含一个文件时,include不知道它是一个php文件,并把它作为一个简单的文本文件。 现在我在php.ini中的php定义是use_short_tags启用,当我浏览网站时,我也看到它,它的工作。 我的问题是如何使用框架文件,并让PHP知道使用短标签时,我从命令行运行我的脚本 谢谢

什么是最快的egrep

我需要从一个200万行的大型csv文件egrep,我想减lessegrep时间到0.5秒,这是可能的吗? 不,我不希望数据库(sqlite3或MySQL)在这个时候.. $ time wc foo.csv 2000000 22805420 334452932 foo.csv real 0m3.396s user 0m3.261s sys 0m0.115s 我已经能够将运行时间从40秒减less到1.75秒 $ time egrep -i "storm|broadway|parkway center|chief financial" foo.csv|wc -l 108292 real 0m40.707s user 0m40.137s sys 0m0.309s $ time LC_ALL=C egrep -i "storm|broadway|parkway center|chief financial" foo.csv|wc -l 108292 real 0m1.751s user 0m1.590s sys 0m0.140s 但我希望egrep实时不到半秒钟,任何技巧将不胜感激,文件不断变化,所以我不能使用任何caching机制…

用shell查找pdf内部的string

我想知道是否有任何方法来检查是否有一个pdf文件中使用shell脚本的string? 我正在寻找像这样的东西: if [search(string,pdf_file)] > 0 then echo "exist" fi

意想不到的EOF而寻找匹配`“'

当我从命令行执行时,该命令正常工作。 然而,当我从shell脚本执行它时会引发错误 rsync -avz -e ssh –exclude-from=rsync.file –rsync-path="sudo rsync" ostnfe/ ubuntu@mask.compute-1.amazonaws.com:/var/www/ostnfe 来自shell脚本的代码: CMD='rsync -avz -e ssh –exclude-from=rsync.file –rsync-path="sudo rsync" '$1'/ ubuntu@'$AMZ':/var/www/'$2 $CMD 错误: bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file