编辑目录中的所有文件并另存为另一个副本

时间:2014-06-09 04:02:06

标签: bash terminal edit

我在目录中有4个文件" dir"叫" a.txt"," b.txt"和" c.txt"。所有文件都包含文本。

A.TXT: Chan Chan Man被捕。

b.txt: Chandler Bing被捕了。

c.txt: 乔伊,鸭子和小妞抗议钱德勒被捕。

我想从所有文件中删除特定的关键字,并将这些新文件存储在另一个目录中,并且#34; dir2"。让我们说我想删除"逮捕"并且"被捕"。所以新文件成为:

aNew.txt: Chan Chan Man是。

bNew.txt: Chandler Bing得到了。

cNew.txt: 乔伊,鸭子和小鸡抗议钱德勒。

我正在使用Mac终端。如果有人可以为子目录中的文件提供解决方案而且我可以提供正则表达式列表而不是要删除的关键字,那就太棒了。

1 个答案:

答案 0 :(得分:1)

#!/bin/bash

source=dir
dest=dir2

for file in a.txt b.txt c.txt
do
   # Copy the file to the destination directory
   cp "$source/$file" "$dest"

   # Modify the contents of the file in the destination directory.
   sed -i 's/arrested\././' "$dest/$file"
   sed -i 's/arrest\././' "$dest/$file"
done