- Community Home
- >
- HPE Community, Japan
- >
- HP-UX
- >
- HP-UX General
- >
- csh+awkの具体的使い方をアドバイスいただけませんか?
カテゴリ
Company
Local Language
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
フォーラム
ブログ
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
07-08-2006 09:15 PM
07-08-2006 09:15 PM
csh+awkの具体的使い方をアドバイスいただけませんか?
下記のような初期ファイルを修正後の状態に
csh+awkでやりたいと考えています。行数は
10000行くらいあります。$aaaa行に管理番号が
あり、その管理番号を行頭に付けたいんです。
abcdefgh....行は、任意の行数ですが、必ず
$aaaa行で、管理番号が更新されたアスキー
ファイルになります。アドバイスいただけ
ないですか?。よろしくお願いします。
---------start-初期ファイル--
$aaaa 200
{
a=1
b=2
}
$aaaa 205
{
a=6
b=20
c=25
d=40
}
$aaaa 400
{
b=66
}
$aaaa 1250
{
a=66
b=2
m=21
}
---------end---初期ファイル--
---------start-修正後--------
200:$aaaa 200
200: {
200: a=1
200: b=2
200: }
205:$aaaa 205
205: {
205: a=6
205: b=20
205: c=25
205: d=40
205: }
400:$aaaa 400
400: {
400: b=66
400: }
1250:$aaaa 1250
1250: {
1250: a=66
1250: b=2
1250: m=21
1250: }
---------end---修正後--------
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
07-08-2006 10:26 PM
07-08-2006 10:26 PM
csh+awkの具体的使い方をアドバイスいただけませんか?
要件からはずれますが、cshもawkも不慣れなので、posix-shで作ってみました。
提示されたファイルでは動くと思いますが、エラー処理や想定外の値でどうなるかは(?)です。
アルゴリズムは次のようなものです。
1. 一行読み込む
2. 行の終わりなら終了
3. 読み込んだ行を$aaaaが含まれていれば2つに分ける
4. $aaaaがあれば、先頭に書き出す内容を$aaaaの次の文字に置き換える。
5. 読み込んだ1行の先頭に、$aaaaの次の文字とコロンをつけて書き出す。
次の内容をinsnum.sh というファイルに書いて、
sh insnum.sh < 入力ファイル > 出力ファイル
と実行すると動くはずです。
$aaaa がある行の判定などが、いい加減なので、区切りが空白3文字でないと動きません。
=========insnum.sh==============
#!/usr/bin/sh
MarkText='$aaaa'
BlockNum='0000'
while read OneLine ;
do
FirstWord=${OneLine%% *}
LastStrings=${OneLine#${MarkText} };
if ];
then
BlockNum=${LastStrings};
fi
print ${BlockNum}':'${OneLine}
done
=========insnum.sh==============
でも、どこかの課題の代筆だとしたら、とても悲しい。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
07-08-2006 11:29 PM
07-08-2006 11:29 PM
csh+awkの具体的使い方をアドバイスいただけませんか?
awk '{if($1=="$aaaa")header=$1;print header ":" $0}' 初期ファイル
"$aaaa"が現れるフィールドや管理番号のフィールドが変わってくるならもうちょっと工夫が必要ですが。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
07-08-2006 11:38 PM
07-08-2006 11:38 PM
csh+awkの具体的使い方をアドバイスいただけませんか?
awk '{if($1=="$aaaa")header=$2;print header ":" $0}' 初期ファイル
1行目に"$aaaa"行がないと、"$aaaa"行まで管理番号が空になります。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
07-11-2006 04:47 PM
07-11-2006 04:47 PM
csh+awkの具体的使い方をアドバイスいただけませんか?
いたことができました。環境的には、cr5000pws@hpuxでの、アスキーファイルの加工をしたかったのです。
大変に助かりました。