當前位置:首頁 » 網頁前端 » 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語言的知識,我們就講解的很全面了。