我在一个用perl编写的应用程序中有一些模块和脚本。对于它的发行版,我使用ExtUtils::MakeMaker。
这些模块和脚本的目标操作系统是Linux。问题的关键是,最终用户会将模块/脚本安装在非标准目录中,可能还会安装在自己的目录中,然后他们会这样安装:
perl Makefile.PL PREFIX='/YOUR/DIRECTORY'
make
make test
make install
ExtUtils::MakeMaker通过PREFIX变量解决了modules/scritps安装目录不规范的问题。
如何将PREFIX字符串的值复制或替换到脚本中?例如,不使用硬
这是我的脚本 #!/bin/bash
for num in {1..100};
do
sed '$s/ 6.36535 23.3762512.09434/ 6.76889 21.76071 12.19032/' eq8_$num.gro | tee eq9_$num.gro
done 我想将“6.36535 23.3762512.09434”替换为“6.76889 21.76071 12.19032”(在这种情况下,空白很重要,文件具有不同的行数,这是每个文件的最后一行)。 Sed只对第一个文件起作用。输入示例 eq8_1.gro 900 mgdg
我试图解析出超过20,000条记录的数据。每条记录都有4个前缀为2个字母数字值的字段。下面是一个包含2条记录的示例。我目前有一个臃肿的解决方案,它基于这里的链接使用Java:。但我并不打算使用这种解决方案,因为它对于分离记录来说过于夸张了。有没有使用VBS、Python或任何其他语言的解决方案,可以根据我已经使用的逻辑来分隔字段?还是另一种合乎逻辑的方法?
100000000 SMP008483
|--- Category Western
|--- Model Ford
|---
这是我的样本文件
user@linux:~$ cat file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
user@linux:~$
我可以用grep -A2 'e 2' file.txt打印第2-4行。
user@linux:~$ grep -A2 'e 2' file.txt
Line 2
Line 3
Line 4
user@linux:~$
我也可以用grep -n打印出行号。
user@linux:~$ grep -nA2 'e 2' file.txt
2:Line 2
3-Line 3
4
如何使用sed来查找linux这个词的行?稍后会用linux这个词显示第10行吗?前:
cat file | sed -e '/linux/!d' -e '10!d' ### I can not display the first 10 lines of the word linux
cat file | sed '/linux/!d' | sed '10!d' ### It is well
如何使它与一个sed一起工作?
cat file | sed -e '/linux/!d; ...?; 10!d'
.?-
对不起,我不知道如何设置一个适当的标题,但我会解释我的问题。
我有一个bash脚本,我在IF语句中有一个包含for循环的代码,在这个语句中,我正在读取临时代码中的行。文件和seding/grep/编辑。这个周期内的所有东西都正常工作,正如预期的那样,输出是100%正确的。
if ...
for (( i=0; i<${lenght_temp}; i++))
do stuff
done
fi
问题是,我想在这个输出离开"for循环“之后编辑它。更具体地说,我需要添加一个页眉(所以是一个新的第一行),页脚和编辑一些单词。因此,我试图在sed离开FOR后立即进行,但它根本不起作用。我在
如何在sed命令中仅替换特定值
例如,
Linux system
Windows syste
Mac syste
我试过这个命令
sed /system/system/g‘file.txt
safwanpaloli@hello:~/linx$ sed 's/syste/system/g' new.txt
Linux systemm
Windows system
Mac system
我预期的结果
Linux system
Windows system
Mac system
我有以下脚本:
#!/usr/bin/env bash
if [ "$#" -eq 0 ]; then
echo "No argument has been provided"
exit -1
fi
ENV_FILE=$1
source $ENV_FILE
如您所见,脚本的用户提供了一个必须包含环境变量的.env文件。$ENV_FILE包含包含环境变量的.env文件的路径。
对于我的脚本,.env文件需要包含密钥对值,如:
KEY1=VALUE1
KEY2=VALUE2
KEY3=VALUE3
但是在上面的代码上,仅仅使用source (一个为环境
如何使用sed用文本替换空行?我尝试了一些早些时候发布的技巧,但它不起作用。有人能帮我吗?
示例文件内容-
Linux is an os.
Linux is opensource
Linux has various flavors like fedora,centos etc.
我想用像hello这样的文字来代替这些空白行。
我遇到了一个问题,一个程序突然不想启动了,没有错误,什么都没有。为了确保代码及其链接库的完整性,我想比较每个(动态)链接库的md5sum。从这个论坛的其他帖子中,我发现很容易列出所有的链接库,很好地展示它们:
ldd myProgram | grep so | sed -e '/^[^\t]/ d' \
| sed -e 's/\t//' | sed -e 's/.*=..//' \
| sed -e 's/ (0.*)//'
如何添加md5sum或sha1sum,使其在文件名旁边添加一个校验和列?简单地添加md5sum只会产生一
if [ "`id -u`" -eq 0 ]; then
这是一个现有文件中的行,我只想将0的值改为1的值,现在我想知道在python中如何做到这一点?
我见过其他人在导入subprocess和使用subprocess.call([])上发帖,但这对我来说有点不清楚,所以我只需要有人为我简化一下,也许我可以解释一行代码,我可以用来修改某一行代码,并将0的值更改为1,并详细解释如何做到这一点,非常感谢您的帮助。