Articles of bash

需要ps的pri标准格式说明符的解释 – 可能在文档中的错误

ps手册页上的pri注释: “pri优先级的过程。更高的数字意味着更低的优先级” 在这里考虑PID 26073 $ renice +15 26073 26073: old priority 5, new priority 15 # I am making this process more nice $ ps -t 1 -o pid,ppid,%cpu,stat,cmd,bsdstart,time,pri PID PPID %CPU STAT CMD START TIME PRI 9115 18136 0.0 Ss bash 17:10 00:00:01 19 26073 9115 12.0 RN+ p4 sync 19:06 00:02:56 4 STAT […]

Ansible:将一个唯一的文件复制到组中的每个服务器

我有一系列编号的文件由每个服务器分别处理。 每个拆分文件使用Linux拆分,然后xz压缩以节省传输时间。 split_001 split_002 split_003 … split_030 我怎样才能将这些文件推送到一个有30个服务器的组中? 只要每个服务器都有一个唯一的文件,哪个服务器获取哪个文件并不重要。 我使用了一个bash文件,但我正在寻找一个更好的解决scheme。 希望使用可靠的。 然后我打算运行一个shell命令来运行at命令来启动几个小时或几天的计算。 scp -oStrictHostKeyChecking=no bt_5869_001.xz usr13@<ip>:/data/ scp -oStrictHostKeyChecking=no bt_5869_002.xz usr13@<ip>:/data/ scp -oStrictHostKeyChecking=no bt_5869_003.xz usr13@<ip>:/data/ … http://docs.ansible.com/ansible/copy_module.html # copy file but iterate through each of the split files – copy: src=/mine/split_001.xz dest=/data/split_001.xz – copy: src=/mine/compute dest=/data/ owner=root mode=0755 – copy: src=/mine/start.sh dest=/data/ owner=root mode=0755 – shell: […]

有条件的Awk hashmap匹配查找

我有2个表格文件。 一个文件包含一个名为lookup_file.txt的50个键值的映射。 另一个文件具有30列和数百万行的实际表格数据。 data.txt我想用lookup_file.txt中的值replace第二个文件的id列。 。 我怎样才能做到这一点? 我宁愿在bash脚本中使用awk。另外,有没有一个hashmap数据结构,我可以在bash中用来存储50个键/值而不是另一个文件?

ssh命令输出保存在shell脚本中的文本文件中

我想编写shell脚本,其中我使用ssh命令。 无论输出,我将通过SSH命令获得我想保存在文本文件或varibale,所以我可以在我的shell脚本中使用此。 目前我输出保存在一个variables,但是当我在ssh命令之外使用该variables时,值显示为空白。 代码是 ssh hostname -c "' `pwd`; var=$(ps -ef | grep Consumer | cut -f6 -d' ') '"; echo $?; echo "vbar $var"; 当我打印时,var值是空的。

从Java运行linux脚本

我有以下的Java代码 ArrayList<String> argList = new ArrayList<>(); argList.add("Hello"); argList.add("World"); String[] args = argList.toArray(new String[argList.size()]); Process p =Runtime.getRuntime().exec("echo '$1 $2' ", args); 结果是$1 $2但是我想打印Hello World 。 有谁能够帮助我?

将一个月中的bash脚本调用更改为一周

我在bash中有两个脚本,我有一些文件: transaction-2012-01-01.csv.bz2 transaction-2012-01-02.csv.bz2 transaction-2012-01-03.csv.bz2 transaction-2012-01-04.csv.bz2 . . transaction-2012-01-31.csv.bz2 transaction-2012-02-01.csv.bz2 . . transaction-2012-02-28.csv.bz2 我有一个脚本叫script.sh cat script.sh YEAR_MONTH=$1 FILEPATH="transaction-$YEAR_MONTH*.csv.bz2" bzcat $FILEPATH|strings|grep -v "code" >> output 如果你需要调用脚本,你可以使用其他脚本 cat script2.sh LAST_MONTH=$(date -d -1month +%Y"-"%m) if [ $# -eq 1 ]; then DATE=$1 else DATE=$LAST_MONTH fi script.sh $DATE 1>output$DATE.csv 2>> log.txt 它在一个月内捕获这些文件,但是现在我需要在一年中的特定一周内调用脚本: bash script2.sh 2012-01 其中2012是一年,01是一个月 现在我需要调用脚本: bash script2.sh 2012 […]

如何在Python中使用bashvariables

在bash中,我可以在bash中执行此操作IP=$(wget -qO- ipinfo.io/ip)这将捕获我的公有IP并将其作为variables$ IP存储在我的Raspberry Pi上。 现在我想在python中捕获这个variables,使得当$IP不等于82.1x.xxx.xx时,连接到GPIO 1的led灯亮。 我是一个Python新手,所以我需要一些帮助,我有很less的知识在Python中,但在bash非常好的知识。 任何帮助或build议将不胜感激。 先谢谢你。

linux脚本运行c程序

我试图运行在Linux脚本运行AC程序的脚本如下 #!/bin/bash `gcc odd.c -o odd222` `chmod +x odd222` echo `./odd222` odd.c是 main() { int i; printf("enter the no."); scanf("%d",&i); printf("shiv"); } 但问题是,当我运行这个脚本的所有scanf语句执行,然后所有的输出显示simentaniously …. 如果我不把回声之前./odd222那么它说错误input命令没有find(“input”printf的第一个元素。 请帮助我

Linux bash Timer

好的,这里是愚蠢的新手问题。 我以为我正在倒数计时器。 这应该从5倒计数,一旦在0,然后执行回声“时间到了小丑”,然后结束。 我在这里做错了什么? seconds=5 date1=$((`date +%s` + $seconds)); while [ "$date1" -ne `date +%s` ]; do if (!$date1 -lt ((`date +%s` + $seconds)+1)); then echo "time is up clown"; break; fi; echo -ne "$(date -u –date @$(($date1 – `date +%s` )) +%H:%M:%S)\r"; done

试图删除子目录中除最近2个文件以外的所有文件

我创build了一个cron,它清除除最近两个文件以外的指定文件夹的子目录(仅限第一个子文件),但遇到问题。 这些是我的尝试: find ./ -type d -exec rm -f $(ls -1t ./ | tail -n +4); find . -maxdepth 2 -type f -printf '%T@ %p\0' | sort -r -z -n | awk 'BEGIN { RS="\0"; ORS="\0"; FS="" } NR > 5 { sub("^[0-9]*(.[0-9]*)? ", ""); print }' | xargs -0 rm -f 我也尝试创build一个文件的数组,目的是通过总减2,但数组并没有填充所有文件: while read […]