找到"引号"之间的字符从目录中使用shell将小写转换为大写

时间:2014-07-24 12:08:35

标签: shell conventions

我需要帮助来编写以下条件的脚本。

  1. 以递归方式从目录中查找“双引号”之间的所有字符。
  2. 仅从lowercase转换为UPPERCASE,但我们在步骤1中搜索过的“双引号”之间的字符。
  3. 将它们替换为文件的相同位置。
  4. 我尝试使用grepfindtr,但我无法找到所需的解决方案。

1 个答案:

答案 0 :(得分:3)

您可以结合使用sedfind命令,获得准确的结果。

find  Dir_name  -exec sed -ri  's/(.*)(\".*\")(.*)/\1\U\2\E\3/g' 2>/dev/null {} \;

\U  -- Starting the conversion of upper case .
\E  -- Terminate the conversion of upper case .