如何以正确的顺序对目录中的多个文件应用sed命令?

如何以正确的顺序对目录中的多个文件应用sed命令?,sed,Sed,嗨,我使用下面的命令将csv文件中的名称和地址替换为$$$ 在给出这个命令之后,如果我给ls-tr它的显示是相反的。 如: ls-tr的sed输出之前 我需要一个命令来执行相同的操作并给出正确的顺序。看起来非常正常 ls-tr从最新到最旧打印文件。 您已按字母顺序编辑了文件,因此最新的文件是最后一次编辑的c.txt 如果您想按字母顺序查看文件,请停止在ls上使用-tr选项。这是因为您将ls命令与t->sort by modification time一起使用。你的文件被修改了,因此修改时间也被修

嗨,我使用下面的命令将csv文件中的名称和地址替换为$$$

在给出这个命令之后,如果我给ls-tr它的显示是相反的。 如: ls-tr的sed输出之前


我需要一个命令来执行相同的操作并给出正确的顺序。

看起来非常正常

ls-tr从最新到最旧打印文件。 您已按字母顺序编辑了文件,因此最新的文件是最后一次编辑的c.txt


如果您想按字母顺序查看文件,请停止在ls上使用-tr选项。

这是因为您将ls命令与t->sort by modification time一起使用。你的文件被修改了,因此修改时间也被修改了,现在顺序不同了;而是创建了新的文件并赋予了相同的名称-我的名字不正确,因为它不修改文件,而是创建新文件。是的,我想更正sed命令,该命令将按照文件创建或修改的顺序修改我的文件。我如何使用相同的sed命令编辑文件的创建时间或修改时间您可以尝试使用循环强制处理顺序。用于ls-tr中的文件;做睡眠1;sed-i'..'$文件;还有别的办法吗?无需睡眠。您可以获取每个文件的前一个日期并重置它。类似于:ls-tr;do old_date=日期-r$文件;sed-i'..'$文件;touch-d$old_date$文件;完成
sed -i 's/\(.*\)\("name"\|"address"\)\(,"\)\(.*\)\("\)/\1\2\3$$$$\5/g' *.txt
a.txt,b.txt,c.txt
after sed commabd
c.txt,b.txt,a.txt