如何在一个命令中将目录中所有 .js 文件中的制表符转换为空格?
问问题
427 次
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 回答