我想重命名几个文件的格式
libabc-x86_64-gnu-linux.a
libasdfgh-x86-gnu-linux.a
全部按格式
libabc.a
libasdfgh.a
使用Bash。我已经编写了regex (libpj[^-]*).*,它应该将有趣的部分保留在捕获组1中。
for i in `ls *.a`; do mv "$i" "${i/(lib[^-]*).*/\1}"; done
但是Bash给出了许多形式上的错误
mv: 'libabc-x86_64-gnu-linux.a' and 'libabc-x86_64
系统:
后缀3.1.2
CentOS 6.8
x86_64上的内核和CPU Linux2.6.32-642.2.el6.centos.plus.x86_64
Dovecot,PostGrey,Amavis
启动后缀后给出警告消息。
[root@sun etc]# postfix start
postfix/postfix-script: warning: group or other writable: /etc/postfix/./master.cf
postfix/postfix-script: starting the Postfix mail system
更新1:
我找到了原因。给出
我对unix和linux脚本比较陌生,有几个问题:
首先是我的剧本:
for fileref in Ref/*.bed; do
for filename in Data/*.bed; do
bedops -e 1 $fileref $filename > "${fileref}${filename}.out"
done
done
我希望以两个文件(这两个文件是从循环遍历每个目录中收集的)作为输入来执行-e命令,并将输出文件作为两个文件名的连接(最好在末尾没有.bed )。有什么好办法吗?
名为animals的原始文件如下所示:
dog
cat
dolphin
cat
这个命令通过将sed '/dog/i\ Linux Scripting' animals放在Linux Scripting之前来工作,我得到了以下内容:
Linux Scripting
dog
cat
dolphin
cat
然而,如果我做了动物头之后,文件是不变的。
$ head animals
dog
cat
dolphin
cat
如何以覆盖现有文件的方式执行此操作?
注意:用于多个文件,我希望animals与*.txt保持一致
对于我正在构建的一个小工具,我需要读取一个config/ini文件。这本身没有问题,但我正在尝试弄清楚如何在Linux和Windows上正确/最好地做到这一点。
在Linux下,该文件的位置可能是:
- /etc
- the install directory of the jars/files
在Windows下,我不知道/etc的等价物是什么(对不起,我所有的工作都在Linux上完成)。
有没有人知道一个组件,它会在公共文件位置搜索我可以在代码中重用的config/ini文件?
非常感谢R