我确信有一种快速简便的方法来计算Unix系统上的一列值的总和(使用awk或类似的东西xargs),但是编写一个shell脚本来逐行解析行是唯一可行的方法.此刻心灵.
例如,修改下面命令以计算和显示SEGSZ列(70300)总数的最简单方法是什么?
ipcs -mb | head -6
IPC status from /dev/kmem as of Mon Nov 17 08:58:17 2008
T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:
m 0 0x411c322e --rw-rw-rw- root root 348
m 1 0x4e0c0002 --rw-rw-rw- root root 61760
m 2 0x412013f5 --rw-rw-rw- root root 8192
Run Code Online (Sandbox Code Playgroud) 如何将字符串写入文件和stdout控制台?
如果我做
echo "hello" > logfile.txt
Run Code Online (Sandbox Code Playgroud)
我认为只有hello在logfile.txt,但我怎么能写hello也可以在Linux控制台的?
我试图"abc.txt"摆脱/this/is/could/be/any/path/abc.txt使用Unix命令.请注意,这/this/is/could/be/any/path是动态的.
任何的想法?
提前致谢.
嗨我已经搜索了各种论坛,在这里,我可以找到Linux和Mac的一些答案,但无法找到Unix和特别是Korn Shell的解决方案.
如何从进程ID(pid)获取进程名称(命令名称)
我试过下面的命令
ps -eaf | awk '{ print substr($0, index($0, $9)) }'
Run Code Online (Sandbox Code Playgroud)
上面的命令在给定TIME而不是Month和Date的位置失败(因为在这种情况下,字符串中只有8列)
任何建议都会有所帮助.
我正在处理在Solaris服务器上运行的KornShell(ksh)脚本,该脚本将在满足错误条件时发送电子邮件.我通过mailx发送电子邮件.
问题: 如何在mailx命令中设置"发件人"电子邮件地址?
现行代码:
echo ${msg_txt} | mailx -s "Script Failure" ${to_email}
Run Code Online (Sandbox Code Playgroud)
注意:该命令工作正常,但是,"From"是我正在运行脚本的用户的名称,我希望将其用于另一个电子邮件地址.
我怎么做到这一点?
我有一个shell脚本,它执行以下操作以将当前日期存储在变量'dt'中:
date "+%a %d/%m/%Y" | read dt
echo ${dt}
Run Code Online (Sandbox Code Playgroud)
我如何将昨天的日期变成变量?
基本上我想要实现的是使用grep从日志文件中提取所有昨天的行,因为日志中的每一行都包含"Mon 01/02/2010"格式的日期.
非常感谢
我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件.
所以,如果我有:
./test.log
./test2.log
./directory
./directory/file2
Run Code Online (Sandbox Code Playgroud)
我想要一个返回的命令:./ test.log ./test2.log,没有别的.
当我这样做时unzip -l zipfilename,我明白了
1295627 08-22-11 07:10 A.pdf
473980 08-22-11 07:10 B.pdf
...
Run Code Online (Sandbox Code Playgroud)
我只想看文件名.我试试这个
unzip -l zipFilename | cut -f4 -d" "
Run Code Online (Sandbox Code Playgroud)
但我不认为分隔符是公正的" ".
我看到很多shell脚本:
trap cmd 0 1 2 3 13 15 # EXIT HUP INT QUIT PIPE TERM
在我现在可以访问的每个shell中,除0之外的所有陷阱都是冗余的,如果只是指定了陷阱,则在收到信号时将执行cmd:
trap cmd 0
后一个规范是否足够,或者某些shell是否需要指定其他信号?
我想检查是否file2.sh存在以及特定单词poet是否是文件的一部分.我grep用来创建变量used_var.
#!/bin/ksh
file_name=/home/file2.sh
used_var=`grep "poet" $file_name`
Run Code Online (Sandbox Code Playgroud)
我如何检查是否used_var有一些价值?