Re: bash 3 的一個 script, for i in ... - Linux

Annie avatar
By Annie
at 2008-08-13T11:25

Table of Contents

以一般的情況而言, 通常會用 sed 或者其他的 scripting language 來處理類似問題,
例如以下的方法都可以:

sed 's/$/ abc def !no/' /path/filename1 > /path/filename2
awk '{print $0 "abc def"}' /path/filename1 > /path/filename2
perl -ne 's/$/ abc def !no/;print' /path/filename1 > /path/filename2

那麼如果堅持只用純粹的 bash script, 完全不用內建命令以外的東西,
當作練習題來寫也是不錯的題目.

IFS=$(echo -en "\n ")
IFS=${IFS:0:1}
for i in $(< /path/filename1); do
echo "$i"' abc def !no'
done > /path/filename2
unset IFS

如果不限定用原文提問者的架構, 其實也有更簡單明瞭的方法,
同樣只用 bash 內建命令:

while read i; do
echo "$i"' abc def !no';
done < /path/filename1 > /path/filename2

※ 引述《"老學不會生" <[email protected]>, 看板: Linux》之銘言:
: 請教一下 ...
: (話說我是外行...)
: 想在 bash 3.2.33 下,
: 對某檔案 (/path/filename1) 內的每一行的行尾 加空白再加一些字 -- 譬如就是加 "
: abc def !no"
: 然後存成 /path/filename2 檔.
: 我是這樣 抄 來的:
: #!/bin/bash
: for i in $( /path/filename1 ); do
: echo "$i abc def !no" > /path/filename2
: done
: ##############
: 但是... 奇怪, 這樣不行 !?
: 它說:
: ......command not found
: 請教, 不知要怎麼改才對?
: 謝謝囉 ^_^

--
How shall my heart be unsealed unless it is broken?
By Kahlil Gibran

--
Tags: Linux

All Comments

DRBL鬼打牆,client無法進入系統

Dinah avatar
By Dinah
at 2008-08-13T09:47
我最近在測試DRBL 拿了兩台配備幾乎一樣的電腦來作server跟client (CPU、母板、記憶體、顯卡..etc全部一樣) Server端安裝的作業系統是 Scientific Linux(以下簡稱SL) 5.1 Kernel 2.6.18-53.1.18.el5xen DRBL使用版本為最後一版的 ...

有關於Mandriva2007網路設定的問題

Heather avatar
By Heather
at 2008-08-13T08:01
大家好 因為最近想試試看linux的作業系統 所以選了Mandriva2007來做為入門 但是因為我是用實驗室的網路 所以在設定網路是用固定IP 但照著書上介紹的步驟做了之後發現一直沒辦法上網 訊息也只是顯示無法連線請去控制中心設定 想請問依下這個問題是要怎麼解決 是因為主機板比較新所以抓不到網路卡嗎?? ( ...

shell script -- getopt 問題

Joe avatar
By Joe
at 2008-08-13T06:31
總共有三個地方要做修正 1. 把參數傳給 getopt 要加上正確的引號, 請參考 man bash 有關 and#34;$*and#34; and#34;$atand#34; 2. 原版 getopt 並不處理空白或其他特殊字元, 必須啟動 getopt 的加強版功能, 請參考 man g ...

請問 cross-compiler

Queena avatar
By Queena
at 2008-08-13T02:29
請問板上的各位高手們, cross-compiler 有辦法將自定義的 library 作 compile 嗎? 現在在 linux 上可以 include 可以 run。 但我想要用 nios2-linux-gcc ( cross compiler )來產生 flt格式的執行檔..... 現在我有兩 ...

ubuntu 8.04如何離開x-window?

Hamiltion avatar
By Hamiltion
at 2008-08-13T02:00
※ 引述《mgdesigner (魔法設計師)》之銘言: : ※ 引述《amd3dnow (qq)》之銘言: : : 之前用centos只要執行init 3 就能離開x-window : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : Ubuntu改成sudo init 1就可以進入單人、 ...