Yohanes Nugroho wrote, On 1/6/2010 11:37 AM:
2010/1/6 gdeys...@gmail.com <gdeys...@gmail.com>:
melanjutkan "help bash script" sebelumnya, saya mohon bimbingannya untuk
dapat membuat bash prog yg secara bertahap sedang saya bikin.

(1)
aku ada file hasil bernama 1d dari less 1.txt | grep date > 1d
isi file 1d ini adalah :

date - 2003-10-12-10:14pm

Kemudian aku mo rubah file 1d menjadi hanya 2003-10-12-10 saja. Itu artinya
akan menghapus [date - ] dan [:14pm]

Kira2 pake apa yach ?

bisa dicut, misalnya:

echo 'date - 2003-10-12-10:14pm' | cut -f 3- -d' '| cut -f 1 -d:

cut pertama memotong dari spasi ke kanan, cut kedua memotong sebelum tanda :

Sip, dah aku coba, agak bingung sih... klo kira2 bentuknya kek gini :
date - 2003-10-12T02:12:45Z
Bisa gak klo potongnya dengan cara 7 digit pertama (date - = 7digit) kemudian diambil pada digit ke 8-17 (2003-10-12 = digit ke 8-17) kemudian digit ke 18 sampe terakhir dihapus.
Digit disini bisa diartikan sebagai Karakter

<cmiiw>
Metode -f 3- itu artinya memotong pada karakter pertama berupa 3 pada 2003
hal ini gak masalah klo bash script dijalankan pada single command, nantinya saya mo melakukan banyak command, jd saya gak bisa menggunakan cara ini.
dan
-f 1 -d: adalah memotong karakter setelah :
</cmiiw>

Bisa dengan sed

echo 'date - 2003-10-12-10:14pm' | sed -re 's/[^0-9]+([0-9\-]+).*/\1/g'

Ini lebih reliable, misalnya ada spasi ekstra, masih bisa jalan. Ini
bekerja dengan mengabaikan semua yang bukan digit di awal ([^0-9]+),
lalu mengambil semua digit dan tanda - ([0-9\-]+) dan mengabaikan
sisanya (.*).
Whuah.. yg ini malah bikin saya tambah bingung :d
dari man sed mengatakan : 'stream editor for filtering and transforming text'

Whuah keknya bisa tuh.... tapi masih bingung jugak (doh)
(2)
gimana cara merename sebuah file dengan menggunakan output dari sebuah
command

Ini kurang jelas, bisa diperjelas maksud pertanyaannya?

misal kek gini :
less 1.txt
2008-01-12  > output
trus output diatas digunakan untuk
ren 1.xls 2008-01-12.xls
artinya :
ren 1.xls [output]

dan command2 diatas dibuat dalam satu script atau satu baris command

--
Berhenti langganan: linux-programming-unsubscr...@linux.or.id
Arsip dan info: http://linux.or.id/milis

Kirim email ke