首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在linux中用制表符替换空格

在linux中用制表符替换空格
EN

Stack Overflow用户
提问于 2009-09-14 21:57:13
回答 7查看 135.6K关注 0票数 108

如何在给定的文本文件中将linux中的空格替换为制表符?

EN

回答 7

Stack Overflow用户

发布于 2009-09-14 22:00:02

我认为您可以尝试使用awk

代码语言:javascript
复制
awk -v OFS="\t" '$1=$1' file1

如果您愿意,也可以选择SED

代码语言:javascript
复制
sed 's/[:blank:]+/,/g' thefile.txt > the_modified_copy.txt

或者甚至是树

代码语言:javascript
复制
tr -s '\t' < thefile.txt | tr '\t' ' ' > the_modified_copy.txt

或者是Sam Bisbee建议的tr解决方案的简化版本

代码语言:javascript
复制
tr ' ' \\t < someFile > someFile
票数 49
EN

Stack Overflow用户

发布于 2017-01-31 22:10:34

下载并运行以下脚本,以递归方式将软制表符转换为纯文本文件中的硬制表符。

从包含纯文本文件的文件夹中放置并执行脚本。

代码语言:javascript
复制
#!/bin/bash

find . -type f -and -not -path './.git/*' -exec grep -Iq . {} \; -and -print | while read -r file; do {
    echo "Converting... "$file"";
    data=$(unexpand --first-only -t 4 "$file");
    rm "$file";
    echo "$data" > "$file";
}; done;
票数 3
EN

Stack Overflow用户

发布于 2015-11-04 17:24:27

将当前目录下的每个.js文件转换为制表符的示例命令(仅转换前导空格):

代码语言:javascript
复制
find . -name "*.js" -exec bash -c 'unexpand -t 4 --first-only "$0" > /tmp/totabbuff && mv /tmp/totabbuff "$0"' {} \;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1424126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档