linux - 查找结果未附加到文本文件

标签 linux bash shell

以下脚本查找结果未附加到文本。

file_vlist.txt文件内容文件名如下

    filename1
    filename2
    ....

我的脚本名称是 video.sh int,代码如下

#!/bin/bash
filename="file_vlist.txt"
while read -r line
do
name="$line"
echo "*******video******** - $name\n" >> output_video_new.txt
find . -type f -exec grep -l '$name' '{}' \; >>output_video_new.txt
echo "*******video******** - $name\n" >> output_video_new.txt
done < "$filename"

结果附加到格式不正确的文本中

*******video******** - file1\n
./video.sh
*******video******** - file1\n
*******video******** - file2\n
./video.sh
*******video******** - file2\n
*******video******** - file3\n
./video.sh

最佳答案

这对我有用:

#!/bin/bash

filename="filelines"
while read -r line
do
    name="$line"
    echo "*******video******** - $name"      >> output_video_new.txt
    find . -type f -exec grep -l $name {} \; >> output_video_new.txt
    echo "*******video******** - $name"      >> output_video_new.txt
done < "$filename"
  • 删除了查找命令中的 ' 字符。 `chars 内的变量不被评估。
  • 删除了回显命令中的\n,回显自​​动添加回车。

关于linux - 查找结果未附加到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47576600/

相关文章:

linux - 在 bash 脚本中发出 pushd 命令后,readlink 命令行为异常

bash - 如何临时切换 AWS CLI 的配置文件?

linux - execlp 用户库函数

c - 在 OpenCL 的内核中设置参数会导致错误

linux - GDB 附加到可执行文件被删除的进程

linux - log4cplus RollingFileAppender 不创建新文件

linux - 如何解决 EC2 上的 JIRA 安装问题?

bash - 如何在我的 git 提交消息中提交代码块

bash - 传送到命令 : is there any standard? 后尾随新行

string - 如何在一个回显中大写和替换shell脚本中的字符