用tr转换空格,而不是制表符或换行符

问题描述 投票:0回答:1

我试图在bash脚本中通过替换空格来转换代码行,并且只使用带有','逗号字符的空格字符来转换代码行。我不希望标签或换行符受影响。 我有适用的代码:

cat $FILE | tr '\t' '@' | tr '\n' '%' | tr '[:space:]' ',' | tr '@' '\t' | tr '%' '\n' > $NEWFILE

但显然这并不优雅。我知道必须有一种方法来识别空格''字符而不涉及换行符或制表符。这样我就不必将这些角色转换成其他东西,然后再回来。

有任何想法吗?

unix tr
1个回答
0
投票

如果您只想转换常规空格字符,请不要使用[[:space:]](明确存在以转换制表符和换行符以及常规空格);只需使用

tr ' ' ',' <"$FILE" >"$NEWFILE"
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.