这是我用来列出一些文件的命令:
find . -name \*.extract.sys -size +1000000c -exec ls -lrt {} \;
-rw-r--r-- 1 qa1wrk15 test 1265190 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_7.20110929.extract.sys
-rw-r--r-- 1 qa1wrk15 test 1345554 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_2.20110929.extract.sys
-rw-r--r-- 1 qa1wrk15 test 1370532 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_3.20110929.extract.sys
-rw-r--r-- 1 qa1wrk15 test 1399854 Sep 29 01:14 ./var/can/projs/ar/rep/extract/Sep/29/ar.ARAB-PI_8.20110929.extract.sys
Run Code Online (Sandbox Code Playgroud)
等等。
现在我想通过总结第 5 列来计算这些文件的总大小。我想使用awk, 来做到这一点,所以我在特定目录中测试了以下内容
>ls -lrt | awk `{ print $1 }`
ksh: syntax error at line 1 : `{' unmatched
Run Code Online (Sandbox Code Playgroud)
我不明白有什么问题,为什么这个语法错误。
我想试试
ls -lrt | awk …Run Code Online (Sandbox Code Playgroud) 我有几个文件大小 > 1 GB。我需要从文件中删除最后几个字节。我该怎么做?我更喜欢就地编辑文件以节省磁盘空间。
我在 HP-UX 上。
我曾经使用 HP-UX 系统工作,老管理员告诉我系统上可以拥有的僵尸进程数量有一个上限,我相信是 1024。
在 AIX 上(但这也发生在 HP-UX 上),我的路径中有 GNU ls 并且它的别名也为ls.
当我使用 xargs 时,它使用标准的 Unixls而不是别名。
例如(flocate是一个查找搜索主题的确切路径的函数):
flocate mirrorvg | xargs ls -lh
ls: illegal option -- h
usage: ls [-1ACFHLNRSabcdefgiklmnopqrstuxEUX] [File...]
ls -lh /usr/sbin/mirrorvg
-r-xr-x--- 1 root system 37K apr 3 2014 /usr/sbin/mirrorvg*
Run Code Online (Sandbox Code Playgroud)
为什么 xargs 不使用ls别名?
我不喜欢moreHP-UX 上的输出,因此我将其less用作寻呼机:
PAGER=less
Run Code Online (Sandbox Code Playgroud)
它的输出很好,但是,在 Linux 上,当我使用man然后退出时,我返回到 shell,并且显示看起来和我离开时一样,但是在 HP-UX 上,当我回到 shell 时,会出现是提示前的部分行,很像下面的命令产生的:
echo -e "text \c"
Run Code Online (Sandbox Code Playgroud)
看这个:
在 HP-UX 上:
user@hpux2:~$ man ls
Riformattazione in corso. Attendere...user@hpux2:~$
Run Code Online (Sandbox Code Playgroud)(意大利语消息的意思是“正在重新格式化,请稍候”)
在 Linux 上:
user@linux:~$ man ls
user@linux:~$
Run Code Online (Sandbox Code Playgroud)如何解决这个问题呢?
我一直在寻找 HP-UX 9.X 和 10.20 补丁,看起来我迟到了。我发现原来惠普的 FTP 站点都已经下架了。我敢肯定,一定有人为这些材料制作了一面完整的镜子。如果当时我一直在关注,我就会这样做。我是一个年轻的 UNIX 极客,希望老手可以帮助我。
有谁知道在哪里可以找到所有旧 HP-UX 10.20 软件库和补丁的备份?
例如我发现这个:ftp.hp.com/pub/softlib/software1/wk122/wk122en
但是我找不到这个FTP服务器上还有什么的目录......
注意:我了解到这些仓库可能从未正式发布在网上。我正在寻找的可能是 CD 的 .ISO,这些 CD 已发送给在发布时签订了支持合同的人。如果您有这样的 CD,请进行备份。CD 不会永远存在。
我有一个旧的、深奥的专用硬件(它是一个 HP 逻辑分析仪系统)。它正在运行 HP-UX(因为旧)。
现在,它直接启动到运行特殊逻辑分析器软件的 X 会话。
我想进入终端提示,以便我可以浏览内部结构(出于好奇)。
鉴于这基本上是一台带有一些特殊硬件的 PC,您可以通过哪些方式摆脱轻度锁定的 X 会话?我确实可以访问这台机器的硬件,但我想避免为这件事拉磁盘或制作启动软盘(我没有任何其他带有软盘驱动器的设备!)。
我正在尝试在 HP-UX Unix 中使用以下命令获取当前日期的文件:
$ ls -lrt ABC.LOG* |grep "`date +"%b %d"`"
Run Code Online (Sandbox Code Playgroud)
但是,它给了我错误:
ksh: : cannot execute
grep: can't open %d
Run Code Online (Sandbox Code Playgroud)
有什么建议?
例如,从这个文件:
CREATE SYNONYM I801XS07 FOR I8010.I801XT07
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
CREATE SYNONYM I801XS07 FOR I8010.I801XT07
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
Table altered.
Table altered.
Table altered.
Table altered.
Table altered.
Table altered.
Table altered.
Table altered.
DROP INDEX I8011I01
*
ERROR at line 1:
ORA-01418: specified index does not exist
Index created.
Run Code Online (Sandbox Code Playgroud)
我想要一种方法来查找ORA-和显示该ORA-行和前 4 行:
CREATE SYNONYM …Run Code Online (Sandbox Code Playgroud) 我需要仅使用 sh 和系统命令(Perl不是一个选项)来查找目录的哪些文件(文件名中可以有空格)包含字符串。
对于一些文件,此命令可以正常工作:
# grep -l word *
file 1
file1
Run Code Online (Sandbox Code Playgroud)
但是如果我有 270k 文件,我会收到以下错误:
# grep -l word *
sh: /usr/bin/grep: The parameter list is too long.
Run Code Online (Sandbox Code Playgroud)
在 HP-UX 中,xargs命令没有-0选项,所以我不能使用这个:
# find . -print0 |xargs -0 grep -l
xargs: unknown option: -0
Run Code Online (Sandbox Code Playgroud)
你知道我可以使用哪个命令吗?
hp-ux ×10
grep ×2
ksh ×2
aix ×1
alias ×1
awk ×1
command-line ×1
editors ×1
files ×1
kill ×1
large-files ×1
less ×1
limit ×1
more ×1
portability ×1
process ×1
quoting ×1
recursive ×1
sed ×1
shell-script ×1
timestamps ×1
xargs ×1