将 .pdf 添加到文本文件中文本的末尾 - bash

将 .pdf 添加到文本文件中文本的末尾 - bash
#!/bin/bash
#read the text line by line and cut off the extension
while read filenames ; do
    dataset=$filenames
    nameis=${dataset%.*}
    echo "$nameis" >> /infanass/dev/admin/test/parsed.txt
done < /infanass/dev/admin/test/tobeparsed.txt #location where file names w/ extensions are 

while read line ; do
    grep "^$line$" /infanass/dev/admin/test/parsed.txt >>matches.txt
done < /infanass/dev/admin/test/file1.txt

我比较两个文件之间的文本,如果它们匹配,它们就会被发送到 matches.txt 发送到 matches.txt 的值没有扩展名(只有名称) 我想在发送它们时将 .pdf 添加到所有文件中到 matches.txt 有人有想法吗?

答案1

将最后一个while循环更改为:

while read line 
do
    if grep -q "^$line$" /infanass/dev/admin/test/parsed.txt
    then
        echo "${line}.pdf" >>matches.txt
    fi
done < /infanass/dev/admin/test/file1.txt

顺便说一下,如果您在文件中编写脚本,则不需要在循环中使用分号。仅当您在终端中的单行上编写复合命令时才需要它们。

相关内容