我试图在bash脚本中通过替换空格来转换代码行,并且只使用带有','逗号字符的空格字符来转换代码行。我不希望标签或换行符受影响。 我有适用的代码:
cat $FILE | tr '\t' '@' | tr '\n' '%' | tr '[:space:]' ',' | tr '@' '\t' | tr '%' '\n' > $NEWFILE
但显然这并不优雅。我知道必须有一种方法来识别空格''字符而不涉及换行符或制表符。这样我就不必将这些角色转换成其他东西,然后再回来。
有任何想法吗?
如果您只想转换常规空格字符,请不要使用[[:space:]]
(明确存在以转换制表符和换行符以及常规空格);只需使用。
tr ' ' ',' <"$FILE" >"$NEWFILE"