如何读取文件的最后一个单词并附加“,”(如果不存在)。UNIX系统

Yushi

我想阅读所有txt文件的最后一个单词,如果不存在“,”,请在其末尾附加“,”

我知道如何追加

for file in *.txt; do
echo ',' >> "$file"
done

但是在此代码之前需要插入条件并仅执行','不在文件的最后。

例如。文本文件abcd.txt具有以下数据

hello how are you hope you are good

现在我必须检查文件名“,”(逗号)是否出现在文件末尾,“ good”是最后一行,如果“,”不附加“,”

IE hello how are you hope you are good,

与所有文件相同,检查所有文件,如果不存在,请附加“,”。

请帮忙

约翰·B

正如@Alex H.所指出的,您可以tail用来检查最后一个字符。

根据测试,您可以使用以下命令修改文件sed

for file in *.txt; do
    if [ "$(tail -c 2 "$file")" != "," ]; then
        sed '$s/$/,/' "$file" > "$file.tmp" && mv "$file.tmp" "$file"
    fi
done
  • [ "$(tail -c 2 "$file")" != "," ]-测试最终字符是否还没有,正如@Yushi在他的评论中指出的那样,文件的最后一个字符将是$(行尾字符),因此我们需要tail -c 2检查它前面的字符。

  • sed '$s/$/,/' "$file"-,在最后一行的末尾添加一个字符。

  • > "$file.tmp" && mv "$file.tmp" "$file" -只要确保文件已被修改并保存为原始名称即可。

如果在GNU / Linux上,您可以使用更短的代码sed -i '$s/$/,/' "$file"来完成同一件事。-i是GNUsed选项,可通过创建一个临时文件来替换原始文件(在后台)来修改文件“就地”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果我尝试读取一个不存在的文件会抛出什么异常?

如果该文件不存在,如何指向另一个文件?

如果不存在,如何创建一个新文件并写入它?

如果另一个文件不存在,如何搜索并使用它?

如果创建归档文件时tar不存在,如何使它创建一个文件夹

搜索文件以查找匹配项(如果不存在)转到下一个文件

java在文件开头读取一个奇怪的字符,该字符不存在

如果不存在则断言一个值

创建一个文件,如果它不存在,否则什么都不做

如果另一个数据不存在,则从 json 文件返回数据

创建一个由URI声明的文件(如果不存在)

创建一个.txt文件(如果不存在),并添加新行

.htaccess-如果目录不存在,则需要一个PHP文件

如果用户输入的数据不存在,则创建一个.txt文件

Java的8如何从一个方法返回,如果选不存在?

Laravel,如果一个语言短语不存在,如何得到警告?

如果函数不存在,如何重定向到另一个脚本?

Mongodb:如果不存在,如何在数组中创建一个条目

在drools中,如何在ArrayList中搜索一个对象,如果不存在则添加

如果另一个不存在,如何删除类

如果工作表名称不存在,如何跳到下一个循环?

如何从数组中删除一个值(如果存在)或如何将其推送到数组(如果不存在)?

查找给定值的数据,如果不存在,则查找该值数据系列中的最后一个条目

如果一个表不存在于另一个表中,该如何删除

Fscanf仅读取文件中的最后一个单词

当一个文件不存在时,如何使差异打印一个完整的文件差异?

如何创建一个尚不存在的文件的快捷方式?

因此,我试图建立一个单词生成器,使不存在的单词

如果另一个目录中不存在同名但扩展名不同的文件,则删除文件