Unix字符计数 - 寻找ksh解决方案

时间:2015-08-03 15:33:56

标签: unix scripting ksh

我有一个现有的ksh脚本,可执行许多不同的任务。

我被要求在脚本中添加更多智能。

所以,我一直在努力弄清楚如何添加它:

在文件中,在第一行,行中某处有一个波浪号(~)字符。它并不总是在同一个位置。但是,在第一个代字号之前总是三个,三个字符是一个字母的名称。我需要能够:

  1. 查看文件(很简单)
  2. 数到第一个代字号
  3. 回顾我需要的实际指示符的三个字符。
  4. 我一直在看命令等,但我还没有找到任何帮助。

    任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:1)

首先切掉第一个波浪号中的所有字符和前面的两个字符。下一步(ksh解决方案)使用排版来获取最后一个字符。

a="some string with 12345a~ and another ~ in it"
b="${a%%??~*}"
echo "Substring b: $b."
typeset -R1 desig 
desig=$b
echo "Found: ${desig}"

当排版不起作用(bash)时,您也可以使用

echo -n "$b"| tail -c1

答案 1 :(得分:0)

啊,没关系。

我想我已经找到了使用cut -c去文件中给定角色的方法。

这会让我感到危险。然后,从那里,如果有必要......我会考虑其他人。

很抱歉打扰,但我会在这里留下答案,以防将来帮助其他人。