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

By Annie
at 2008-08-13T11:25
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
--
例如以下的方法都可以:
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
Related Posts
DRBL鬼打牆,client無法進入系統

By Dinah
at 2008-08-13T09:47
at 2008-08-13T09:47
有關於Mandriva2007網路設定的問題

By Heather
at 2008-08-13T08:01
at 2008-08-13T08:01
shell script -- getopt 問題

By Joe
at 2008-08-13T06:31
at 2008-08-13T06:31
請問 cross-compiler

By Queena
at 2008-08-13T02:29
at 2008-08-13T02:29
ubuntu 8.04如何離開x-window?

By Hamiltion
at 2008-08-13T02:00
at 2008-08-13T02:00