当前位置:首页 » 网页前端 » aix脚本中字符串分割
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

aix脚本中字符串分割

发布时间: 2022-04-27 03:13:50

1. 在AIX系统上如何把同一目录下所有文件中的字符串“/aaa/bbb"全部替换成“/ccc/ddd”

c=`ls *.c`
for file in $c
do
echo $file
sed -e "s/\/aaa\/bbb/\/ccc\/ddd/g" $file > ./newdir/$file
done

2. 给aix 系统增加中文字符集,该怎么处理

在linux系统下经常遇到不支持中文问题,进行以下操作试试(如果是自己练习用的话,否则千万别乱来):

解决oracle数据库中的中文乱码显示问题:
在Redhat上安装Oracle 10g没有设定字符集,采用的是操作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。
1.数据库全备(一般刚安装的数据库没什么可备份的,这只上针对使用很久的数据库而言)

2.查询当前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET WE8ISO8859P1

3.关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

4.启动数据库到mount状态
SQL> startup mount
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1266608 bytes
Variable Size 100666448 bytes
Database Buffers 100663296 bytes
Redo Buffers 2924544 bytes
Database mounted.

5.限制session
SQL> alter system enable restricted session;
System altered.

6.查询相关参数并修改
SQL> sh

ow parameter job_queue_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 10

SQL> show parameter aq_tm_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0

SQL> alter system set job_queue_processes=0;
System altered.

7.打开数据库
SQL> alter database open;
Database altered.

8.修改字符集

SQL> alter database character set ZHS16GBK;
alter database character set ZHS16GBK
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set

出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。

SQL> alter database character set internal_use ZHS16GBK;
Database altered.

9.查询当前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET ZHS16GBK

10.关闭数据库

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

11.启动数据库到mount状态
SQL> startup mount
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1266608 bytes
Variable Size 100666448 bytes
Database Buffers 100663296 bytes
Redo Buffers 2924544 bytes
Database mounted.

12.将相关参数改回原来值
SQL> alter system set job_queue_processes=10;
System altered.

13.打开数据库
SQL> alter database open;
Database altered

3. aix shell脚本 对某个目录监控

#!/bin/sh
date=`date +%Y%m%d`
find /ftpdata/hjjk/ftp_down/hospital_register -name \
scoure*$date.txt \
chenggong*$date.txt \
quxiao*$date.txt \
user-$date.txt \
yytable-$date.txt \
yymsg-$date.txt \
>result 2>/dev/null
if [ $? -eq 0 ]
then
case file in
"scoure*$date.txt")
cat -n scoure*$date.txt | grep 12 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "soure*$date.txt is not nomal"
else echo "soure*$date.txt is nomal"
fi
;;
"chenggong*$date.txt")
cat -n chenggong*$date.txt | grep 17 | grep 1\^abc\^2\^abcd \
2>/dev/null && \
cat -n chenggong*$date.txt | grep 17 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "chenggong*$date.txt is not nomal"
else echo "chenggong*$date.txt is nomal"
fi
;;
"quxiao*$date.txt")
cat -n quxiao*$date.txt | grep 18 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "quxiao*$date.txt is not nomal"
else echo "quxiao*$date.txt is nomal"
fi
;;
"user-$date.txt")
cat -n user-$date.txt | grep 10 | grep 1\^abc\^2\^abcd \
2>/dev/null && \
cat -n user-$date.txt | grep 9 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "user-$date.txt is not nomal"
else echo "user-$date.txt is nomal"
fi
;;
"yytable-$date.txt")
cat -n yytable-$date.txt | grep 3 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "yytable-$date.txt is not nomal"
else echo "yytable-$date.txt is nomal"
fi
;;
"yymsg-$date.txt")
cat -n yymsg-$date.txt | grep 14 | grep 1\^abc\^2\^abcd \
2>/dev/null
if [ $? -ne 0 ]
then echo "yymsg-$date.txt is not nomal"
else echo "yymsg-$date.txt is nomal"
fi
esac

else
echo "file not find"
fi
rm -rf result

4. aix怎么得到字符串的

这个命令显示在/ptc 目录下扩展名为.jsp 且内容包含version 字符串的文件,显示文件目录
和包含这个字符串的行。
find /ptc -exec grep -l "sjh" {} \;
在/ptc 下查找内容包含“sjh"字符串的文件。显示文件目录。
find /tmpftp |xargs egrep version
find 里面的-exec 效率没 xargs 逐条递送处理的效果好
grep 查找也没 egrep 效率快。 不过只能对非特殊字符。

5. AIX 脚本执行的时候提示“ksh: ./T***.sh: not found.”

问题也许很简单,是不是在windows上编写的然后传到AIX上,会存在看不见的回车等非法字符,仔细检查一下。

6. AIX中怎么用sed把某字符转换成换行符

sed -n 's/aaa/bbb/g' 这是把匹配到的aaa替换成bbb,-n选项不会直接修改源文件。
想修改源文件要使用-i选项。这样写:
sed -i 's/aaa/bbb/g' 1.txt 这样就把文件1.txt中所有的aaa都替换成了bbb,后面的g是全局匹配的意思。

7. AIX 上用什么命令可以在所在文件夹里,列出包含某个字符串的所有文件

建议用awk 试一下

8. 在AIX下的正则表达式怎样匹配一个完整的字符串

^表示字符串开头,$表示字符串结尾,将正则表达式放在^与$之间可以匹配一个完整的字符串

9. aix如何修改LC_MESSAGES值

本地语言支持(NLS)使用多种环境变量来影响对AIX语言环境的选择。可以设置这些变量的值来更改AIX语言环境信息的搜索路径。
LANG
指定安装时缺省的AIX语言环境。
注:LANG 环境变量值是在安装时确定的。(除非设置了 LC_* 环境变量,否则每个进程都使用都使用该语言环境)。可以使用 SMIT 中的 Manage Language Environment 菜单来更改 LANG 语言环境。有关使用 SMIT 的更多信息,请参阅 AIX 5L Version 5.2 System Management Concepts: Operating System and Devices 中的 System Management Interface Tool (SMIT) Overview。C 和 POSIX 语言环境的目的就是提供最佳性能。
LC_ALL
覆盖 LANG 环境变量的值以及所有其它 LC_* 环境变量的值。
LC_COLLATE
指定用于 LC_COLLATE 类别信息的AIX语言环境。LC_COLLATE 类别确定了字符整序和字符串整序的规则,这些规则控制着范围、同等类以及多字符整序元素的行为。
LC_CTYPE
指定用于 LC_CTYPE 类别信息的AIX语言环境。LC_CTYPE 类别确定了字符处理的规则,这些规则控制着文本数据字符(即单字节和多字节字符)的字节序列的解释、字符的分类(如,字母、数字等)以及字符类的行为。
LC__FASTMSG
当 LC__FASTMSG 设为 true 时,该变量规定对于 C 和 POSIX 语言环境使用缺省消息,并且规定忽略 NLSPATH。否则,执行符合 POSIX 规范的消息处理。在 /etc/environment 文件中,缺省值为 LC__FASTMSG=true。
LC_MESSAGES
指定用于 LC_MESSAGES 类别信息的AIX语言环境。LC_MESSAGES 类别确定了控制肯定性和否定性响应的规则,以及控制用于消息和菜单的语言环境(语言)的规则。
在使用不能显示多字节字符的终端时,如果希望不显示不可打印字符,可将 LC_MESSAGES 环境变量设为 C@lft。可显示多字节字符的登录会话禁用此设置。
使用 cron 或 inittab 启动的进程保留 C@lft LC_MESSAGES 设置,并使用 setlocale() 子例程建立缺省消息的语言环境。如果应用程序不显示消息,请确保 LC_MESSAGES="C@lft",并通过 putenv("LC_MESSAGES=") 子例程禁用此设置。其结果就是使用经翻译的消息目录的输出。
LC_MONETARY
指定用于 LC_MONETARY 类别信息的语言环境。LC_MONETARY 类别确定了控制货币相关格式的规则。
LC_NUMERIC
指定用于 LC_NUMERIC 类别信息的AIX语言环境。LC_NUMERIC 类别确定了控制非货币数字格式的规则。
LC_TIME
指定用于 LC_TIME 类别信息的语言环境。LC_TIME 类别确定了控制日期和时间格式的规则。
LOCPATH
指定用于本地化信息的搜索路径,包括二进制AIX语言环境文件、输入法和代码集转换器。
注:所有的 setuid 和 setgid 程序都忽略 LOCPATH 环境变量。
NLSPATH
指定用于查找消息目录文件的搜索路径。NLS 子系统的消息工具组件使用该环境变量。请参阅 catopen 子例程以获取更多有关 NLSPATH 变量所要求的格式的信息。
影响AIX语言环境选择的环境变量可分为三种优先级类:高、中和低。处于高优先级类的环境变量有:
LC_ALL
LC_COLLATE
LC_CTYPE
处于中优先级类的环境变量有:
LC_MESSAGES
LC_MONETARY
LC_NUMERIC
LC_TIME
而处于低优先级类的环境变量是:LANG
当 setlocale 子例程为一个特定类别或所有类别请求AIX语言环境时,将按以下方式,根据这些环境变量设置的优先级级别对这些设置进行查询:
如果设置了 LC_ALL 环境变量,则所有六个类别都使用该变量指定的环境变量。例如,如果 LC_ALL 环境变量等于 en_US,而 LANG 环境变量等于 fr_FR,调用 setlocale 子例程会把所有六个类别都设为 en_US 语言环境。
如果 LC_ALL 环境变量未设,则各个类别分别使用由各自对应的环境变量指定的AIX语言环境。例如,如果 LC_ALL 环境变量未设,LC_COLLATE 环境变量设为 de_DE,而 LC_TIME 环境变量设为 fr_CA,那么调用 setlocale 子例程将把 LC_COLLATE 类别设为 de_DE,而把 LC_TIME 类别设为 fr_CA。这两个环境变量中的任一方都不会优先于另一方。
如果 LC_ALL 环境变量未设,并且某一个特定的 LC_* 环境变量的值也未设,那么 LANG 环境变量的值就决定了这一特定类别的设置。
例如,如果 LC_ALL 环境变量未设,LC_CTYPE 环境变量设为 en_US,LC_NUMERIC 环境变量未设,LANG 环境变量设为 is_IS,那么调用 setlocale 子例程会将 LC_CTYPE 类别设为 en_US,而将 LC_NUMERIC 类别设为 is_IS。LANG 语言环境只为那些先前未由 LC_*? 环境变量确定的类别指定语言环境。
如果 LC_ALL 环境变量未设,某一个特定的 LC_* 环境变量的值也未设,而且 LANG 环境变量的值也同样未设置,那么该特定类别的环境变量缺省为 C 语言环境。例如,如果 LC_ALL 环境变量未设,LC_MONETARY 环境变量设为 sv_SE,LC_TIME 环境变量未设,LANG 环境变量也未设,那么调用 setlocale 子例程会将 LC_MONETARY 类别设为 sv_SE,而将 LC_TIME 类别设为 C。
关于AIX语言的知识,我们就讲解的很全面了。