首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HP-Nonstop上的TACL中是否有grep等效项?

在HP-Nonstop上的TACL中是否有grep等效项?
EN

Stack Overflow用户
提问于 2020-04-07 17:29:30
回答 3查看 399关注 0票数 0

正如它在标题中所说的;如果是,我当然需要一个类似bash的烟斗来舒适地使用它。

EN

回答 3

Stack Overflow用户

发布于 2021-01-19 08:21:48

如果您的系统具有OSS,则可以使用gtaclgtacl允许你直接从OSS启动一个TACL,也就是一个守护程序,它本身就有grep

要将会话从守护者TACL切换到OSS,首先输入osh,然后您可以简单地通过gtacl -c STATUS *, DETAIL运行您的TACL命令(这是一个用户状态示例)。

您可以在OSS中以这种方式运行所有TACL命令,就像在TACL会话中必须以osh -c "ps -e~|egrep -e 'sshd~|prngd'"身份运行OSS的所有osh命令一样(示例osh进程检查ssh)。

票数 1
EN

Stack Overflow用户

发布于 2020-07-11 00:23:32

我假设您想知道如何通过tacl从文件中搜索字符串

正在将文件读取到varaible

代码语言:javascript
复制
FILETOVAR file-name variable-level

exmple: FILETOVAR $AAA.BBB.CCC var
    $AAA.BBB.CCC: filename
    var: variable name

查找变量中的字符串

代码语言:javascript
复制
VFIND var string

   var:variable name
   string : target string
票数 0
EN

Stack Overflow用户

发布于 2020-10-28 21:21:40

Grep可以做很多事情。

如果要在特定文件中查找字符串,可以使用以下命令: EDIT R;LB/ string /All;E

将在单个可编辑文件(类型101)中查找。

如果您在一个$中查找多个文件。目录中,没有任何HPNonStop实用程序可以完成此任务。

您可以在上面的单个文件示例周围添加TACL代码,以查看所有可编辑的文件。类似于:

FooFind

代码语言:javascript
复制
?TACL Macro
#Frame
#Push StringToFind FileName StopLoop Vol SubVol

#Set StopLoop 0
#Set StringToFind %1%
#SetMany Vol SubVol, [#Fileinfo/volume,subvol/[#Defaults/Current/ ].a]

[#If [#Empty [StringToFind]]
|then|
  #Output Usage: Please supply the string to find
  #Output EG: Foofind foo
|else|
  #Set Filename [#Defaults/Current/].a
  [#Loop
  |do|
    #Set FileName [#NextFileName [FileName]]
    [#If [#Match [Vol] [#fileinfo/Volume/[FileName]]]
     And [#Match [Subvol] [#fileinfo/Subvol/[FileName]]]
    |then|
      [#If [#Match 101 [#fileinfo/Code/[FileName]]]
      |then|
        Edit [FileName] r;lb/[StringToFind]/;Exit
      |else|
        #Output [FileName] is not an Edit file. Skipping...
      ] == end of if
    |else|
      #Set StopLoop -1
    ] == end of if
  |Until| [StopLoop]
  ] == end of loop
] == end of if
#UnFrame

执行:

$DATA FOO 73> foofind

用法:请提供要查找的字符串

例如: Foofind foo

$DATA FOO 74> foofind foo

文本编辑器- T9601L01 - (20OCT14)

当前文件为$DATA.FOO.FOO1

文本编辑器- T9601L01 - (20OCT14)

当前文件为$DATA.FOO.FOO2

代码语言:javascript
复制
1     there is a foo here

文本编辑器- T9601L01 - (20OCT14)

当前文件为$DATA.FOO.FOO3

代码语言:javascript
复制
1     And a foo foo here.

文本编辑器- T9601L01 - (20OCT14)

当前文件为$DATA.FOO.FOOFIND

代码语言:javascript
复制
   12       #Output EG: Foofind foo

$DATA.FOO.NOTEDIT不是编辑文件。正在跳过...

$DATA FOO 75>

这是相当初级的。有很多增强的空间。但它确实完成了在卷/子卷目录中的所有可编辑文件中查找输入字符串的任务。

但是,如果您正在寻找一个类似grep的实用程序来搜索非编辑文件,那么最好的选择就是通过编程语言完成一些工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61076834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档