2016-07-26 8 views
-1

との最初の列の後に私は似たテキストで設定ファイルを持っている:追加:SEDやawkの

私は//の後にフィールドを抽出、しかし、追加する必要があり
BACKUP=nfs://NASserver/vol/FS01/share/ 

:このような最初の列 後:

働く

cat file.conf |awk -F"//" /BACKUP/'{print $2}'|awk -F"/" '{print $1":""/"$2"/"$3"/"$4}' 

と生産:

NASserver:/vol/FS01/share/ 

私が試してみました

NASserver:/vol/FS01/share/ 

が、これは、NASの名前が、それは動作しません$ 5印刷する必要がありますいる場合に動作します:BACKUP文字列が第5 'FILD以上、この私のawkの意志が含まれている場合、例えば:

意味を

BACKUP=nfs://NASserver/vol/FS01/share/folder1/folder2 

すなわち

を動作しない、私はBACKUP列 の任意の長さのためのawkと同じ結果を得ることができますどのように私は

を取得します3210
NASserver:/full volumes path 

答えて

0

あなたのフォーマットが固​​定されている場合は言う:「BACKUP = NFS:// ....」あなたの形式は変更になる場合があり、場合、この次のコードは、任意の長さ

cat file.conf | sed 's#BACKUP=nfs://\([^/]\+\)\(.*\)#\1:\2#g' 

のために尽くします、私は意味たとえば、「FTP = ftp:// ...」の場合、

関連する問題