我有一个字符串,我想删除标点符号.
我开始了
sed 's/[[:punct:]]/ /g'
Run Code Online (Sandbox Code Playgroud)
但是我在HP-UX上遇到的问题一直不喜欢,有时我会得到一个0,而且$在我的字符串中的任何内容都会消失.所以我决定尝试手动完成.
我有以下代码,它适用于我感兴趣的所有标点符号,除了我似乎无法添加方括号"[]"到我的sed与其他任何东西,否则它不会替换任何东西,我不会得到一个错误,所以我不知道该解决什么问题.
无论如何,这是我目前拥有并想要添加[]的内容.
sed 's/[-=+|~!@#\$%^&*(){}:;'\'''\"''\`''\.''\/''\\']/ /g'
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我在Solaris,Redhat和HP上使用KSH
我正在使用egrep查看perforce NAS中的脚本.
我试图找到我们使用RCP和RSH的地方....我遇到的问题是1)我在REGEX吮吸; 2)我正在拾起我不感兴趣的垃圾.例如,如果一个文件有关于RCP的文件strcpy ..,那就是RSH上的所有权.......
显然我对这些并不感兴趣,但我不想排除基于所有权或strcpy这两个词的行...因为它们可能会一起使用......而且它不是一个完整的列表.
这是我的正则表达式
'ftp|rcp|rsh'
Run Code Online (Sandbox Code Playgroud)
如何修改这些来打击FTP,但不是SFTP ... rcp但没有strcpy,rsh但不是所有权.....等?
所以我想要匹配的东西.
ftp
`ftp`
/ftp/
"PUNCT"FTP"PUNCT"
Run Code Online (Sandbox Code Playgroud) 我有一个大的shell脚本来处理每个Solaris系统的文件.
在开始时,脚本创建变量FILENAME有时人们创建包含空格的目录/文件.例如
/users/ldap/Anukriti's System Backup/BACKUP/workspace/BP8/scripts/yui/editor/simpleeditor.js
Run Code Online (Sandbox Code Playgroud)
后来在我运行的脚本中
cp $FILENAME $DESTDIR/
Run Code Online (Sandbox Code Playgroud)
您可以想象这总是失败,因为以下内容无效.
cp /users/ldap/Anukriti's System Backup/BACKUP/workspace/BP8/scripts/yui/editor/simpleeditor.js $DESTDIR
Run Code Online (Sandbox Code Playgroud)
我已经尝试将变量放入引号中,但这不起作用.我之前使用过find -exec选项,但是对于这种情况并非真正的选项,特别是因为Solaris不支持-wholename或-path选项
我能在这做什么?
我有一个目录,里面有108k文件.我在RHEL5上使用KSH shell
ls *
-dash_bin_ksh: ls: /bin/ls: cannot execute [Argument list too long]
Run Code Online (Sandbox Code Playgroud)
只有看起来有效的命令才是find命令.
find .
file 1
file 2
file n
Run Code Online (Sandbox Code Playgroud)
我尝试使用find with then exec选项来运行文件命令,但我没有得到任何结果.
find . -exec file {}
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我只想在这个目录中的每个文件上运行file命令并输出到file_output.txt