【发布时间】:2012-05-18 01:06:34
【问题描述】:
我有一个带有这种模式的文本文件:
\t (hello world)
我需要将括号中的文本替换为唯一值(例如 ob1、obj2 等),这样
\t (obj)
\t (obj)
\t (obj)
变成……
\t (obj1)
\t (obj2)
\t (obj3)
或其他任何独特的东西。使用在 cygwin 中工作的任何工具的解决方案都可以工作。我使用 bash 和 sed 的尝试失败了:
#!/bin/bash
x=1
for fl in myfile; do
cp $fl $fl.old
sed 's/\\t \(.*\)/\\t \("${x}"\)/g' $fl.old > $fl.new
x=$((x+1))
echo $x
done
【问题讨论】: