0

如何在一个命令中将目录中所有 .js 文件中的制表符转换为空格?

4

3 回答 3

1

这会将制表符转换为四个空格:

find /path/to/directory -type f -iname '*.js' -exec sed -ie 's|\t|    |g' '{}' \;

在接下来的两个之间更改 sed 中的空格部分,|以获得您喜欢的自定义空格数。

另一种方法是使用以下命令一次将所有文件处理到一个 sed 调用+

find /path/to/directory -type f -iname '*.js' -exec sed -ie 's|\t|    |g' '{}' '+'

只需考虑系统对命令的可能参数限制。

于 2013-08-27T15:36:20.893 回答
1
find . -type f -iname "*.js" -print0 | xargs -0 -I _FILE_ tab2space _FILE_ _FILE_
于 2013-08-27T15:34:06.297 回答
0

更简单的语法:

for F in *.js; do sed -iE 's|\t|    |g' $F; done

(注意,在原地编辑文件。)如果您经常这样做,可以重命名已编辑的副本,或者放入函数中。

于 2013-08-27T17:59:17.223 回答