bash中已存在文件名为空格分隔和跳过名称的准备字符串

bash中已存在文件名为空格分隔和跳过名称的准备字符串,bash,shell,Bash,Shell,我正在寻找准备字符串与文件路径和跳过,如果路径已经存在的空间分隔。因为我还需要循环和迭代来读取文件内容。 例如:我在文件中有文件名列表,比如filePath1.txt filePath2.txt filepath3.txt 在上面的示例中,如果文件路径名已经在字符串中,则希望在字符串中添加所有文件名并跳过。 迭代字符串读取文件也会很有帮助。 提前感谢……:) 如果var1包含路径,我会像下面那样跳过。并且现在得到了预期的结果。 echo${var1}| grep--安静的“${filePath}

我正在寻找准备字符串与文件路径和跳过,如果路径已经存在的空间分隔。因为我还需要循环和迭代来读取文件内容。 例如:我在文件中有文件名列表,比如filePath1.txt filePath2.txt filepath3.txt 在上面的示例中,如果文件路径名已经在字符串中,则希望在字符串中添加所有文件名并跳过。 迭代字符串读取文件也会很有帮助。
提前感谢……:)

如果var1包含路径,我会像下面那样跳过。并且现在得到了预期的结果。 echo${var1}| grep--安静的“${filePath}” 如果[$?=1] 然后 var1=$var1''$filePath fi

现在var1有了像-/foldr/subfoldr/tmp这样的文件列表。
我需要迭代每个文件,并且在文件内部,每行值都需要与/tmp/actualVal.properties进行比较。如果需要将文件中的值替换为实际属性,请使用1)filePath1.txt的示例内容编辑您的问题2)在3)传递到读取循环的内容之前使用prepare字符串4)在描述实际目标之后使用预期结果prepare字符串,确定有比在中保存多个文件名更好的解决方案吗string@SreenivasPonnadi:如何在字符串中嵌入空格来表示文件名?如果你打算在字符串上迭代,为什么要使用字符串而不是数组?@alecxs:你可以使用各种方法来实现这一点,但OP没有提到他在字符串中使用了什么;他只是说空间分离。因此,要讨论解决方案,首先了解字符串的确切语法是很有帮助的。很高兴你解决了问题,但没有人能理解你的回答。很抱歉,对bash来说,这是个新问题。。我的目标是1.从一个文本文件中读取文件条目列表,并将其添加到一个字符串中(如果字符串中已经存在条目,则跳过该条目)2。从字符串中迭代每个文件读取文件内容并替换另一个临时文件中的内容字符串,我的意思是,如果属性值错误,则文件具有属性,而不需要从临时文件中替换。这个问题和答案与第一点有关。第二点看如何使用bash实现。使用
直接从文件中读取
循环列表,而不将文件名连接到一个字符串中(请参见链接答案),使用
cat filePath*.txt | sort | uniq-u
删除重复项,并通过进程替换传递到循环中。对于每个文件名,内部循环将属性值替换为
sed
(“如果不同的替换值”与“始终替换”相同-无需比较)