日期:2014-05-16  浏览次数:20613 次

请教有关tr的问题
tr '\n[' '\r\n' <file|sort|tr '\r\n' '\n['

tr '\n[' '\r\n' <file 这行的意思是不是将file中的\n[ 替换为\r\n,但执行了以后结果如下,
linux-nvk0:~ # tr '\n[' '\r\n' <132

  writable = yesase Folder
  path = /RELEASEinstall
linux-nvk0:~ # e = yese

我就不太明白了额
\n[ 和\r\n分别代表了什么



以下是file的内容
[AI_RELEASE]
  comment = Release Folder  
  writable = yes
   
[RELEASE]
  comment = Folder
  valid users = oinstall
  writable = yes
  path = /RELEASE
[share]
  comment = share
  path = /share
  guest ok = yes
  read only = no
  writable = yes


------解决方案--------------------
不知道你最终结果要什么不过tr '\n[' '\r\n' <file这条命令,确实是这样的结果。
遇到换行(\n)则替换为下一行在开始位置(\r),遇到"["则替换为换行(\n)。
后一行覆盖本行,遇到“[”则换行。

结果应该是:
linux-nvk0:~ # tr '\n[' '\r\n' <132

writable = yesase Folder
path = /RELEASEinstall
writable = yese 
只不过linux-nvk0:~ #覆盖了 writable = yese