WinXp-Linux間でsambaを用いてファイル交換をしています。
その際、Win側で作成したtxtファイルをLinux側にsamba経由で転送した場合、Linux側に転送されたtxtファイルの改行コードや文字コードをLinux側に合わせるためにはどうすればよいでしょうか?
できれば、sambaの設定でなんとかしたいのですが。
そういうことができるでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

#1さんのはファイル名のエンコーディングの話.


ご希望のような動作は無理です.
    • good
    • 0

ちょっと質問が漠然としすぎだと思います。


多分、S-JISのファイルをLINUXに入れる際に自動的にEUCにしたいと言う事のように見えますが、私はこう言った(自動での)方法は知りません。
使用法によって(ファイルの中身に半角カナがある場合など)は問題が発生しますし・・・
又、同様の機能をFTPを使う等では問題は解決できないのでしょうか?
いっそ、Linux側をS-JISにしちゃうとか・・・?

いずれにしても利用したい内容(ファイル共有なのかデータの転送なのか、ただ見たいだけならコマンドのオプションで可能かも?)によっても解決方法が違ってくると思います。
    • good
    • 0

EUCにしてください。



ちなみに、うちの会社ではS-JISにしてます。
ただし、どちらにしてもロングファイル名や、WIN98系の問題は残ります。

そういった問題が解消(してるかも)されてる最新バージョンをお勧めします。

ちなみに、SAMBAの「全体設定」の「coding system」項です。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q改行コードを自動変換してくれるFTPクライアント

テキストファイルをアップロードするときに、改行コードを自動変換してくれるFTPクライアントを探してます。
今まではFFFTPを使用していたのですが、このソフト、自動で改行コードを変換してくれないようです。
サーバーの漢字コードにEUCを選択し、転送モードをアスキーにして転送してみましたが、改行コードはCRLFのままでした。
テキストファイルのアップロードではFTPソフトが自動で改行コードを変換してくれるものだと思い込んでいたのですが。。。

やりたいことは、Windowsで作ったS-JIS/CRLFのテキストファイルを、漢字コードはS-JISのままで改行コードだけをLFのみに自動変換してLinuxサーバーにアップロードしたいのです。

質問としては、

(1),
FFFTPで、自動で改行コードのみを変換し、漢字コードはそのままでアップロードする方法がありましたら教えてください。

(2),
もし、(1)ができないようでしたら、他のソフトでお勧めがありましたら紹介してください。
できれば、FFFTPのように、ビューワにメモ帳など自分の好きなアプリケーションを指定できる機能があれば助かります。

宜しくお願いします。

テキストファイルをアップロードするときに、改行コードを自動変換してくれるFTPクライアントを探してます。
今まではFFFTPを使用していたのですが、このソフト、自動で改行コードを変換してくれないようです。
サーバーの漢字コードにEUCを選択し、転送モードをアスキーにして転送してみましたが、改行コードはCRLFのままでした。
テキストファイルのアップロードではFTPソフトが自動で改行コードを変換してくれるものだと思い込んでいたのですが。。。

やりたいことは、Windowsで作ったS-JIS/CRLFのテキス...続きを読む

Aベストアンサー

その確認方法だと、FFFTPがDLしてそれを開いているので、DL時にFFFTPがLFをCRLFに再度変換しています。

ちゃんと確認するなら、FFFTPでアップしたものを変換しない方法で落として確認しないとだめです。

当方で、FFFTPでアップしたものを、sambaで直接アクセスしてひらいたら、ちゃんとLFになっていました

Qwin保存ファイル→linuxでinstall

私はlinux初心者です。win98とdebian(potato)をデュアルブートしています。debianの方はまだNET接続していません。ADSLで接続しようと”pppoe”をwinでDLしたのですが、debianで開いてインストールは出来るのでしょうか?また、出来るならどうやるのでしょうか?
幼稚なご質問で申し訳ありませんが、どうぞアドバイスよろしくお願いいたします。

Aベストアンサー

参考にどうぞ。
http://www.jp.redhat.com/manual/Doc72/RH-DOCS/rhl-gsg-ja-7.2/s1-q-and-a-windows.html
この方法ではLinuxからCドライブへアクセスできるようになります。
そのほかのドライブ・パーティションへ入れる場合は、/dev/hda1を別の文字列に変える必要があります。
http://www.glasscom.com/tone/linux/SysManage/Device.htm

ダウンロードしたファイルはMy documentsやディスクトップなどに置くのではなく、ルートディレクトリや適当なディレクトリを分かりやすい位置に作っていれておいたほうがいいでしょう。
名前にスペースが入っていたり、日本語が使われていると少しややこしいことになります。

参考URL:http://www.jp.redhat.com/manual/Doc72/RH-DOCS/rhl-gsg-ja-7.2/s1-q-and-a-windows.html

Q文字+改行コードの置換について

文字+改行コードの置換についてご教授ください。
テキスト内の数字「9」とそれに続く改行コードのみ置換(削除)対象にしています。
全ての改行コードが対象ではないため、下記のようにエディタ(sakuraエディタ)で指定しました。

置換前: 9\r\n
※削除したいため、置換後の欄は空欄にしています。

しかし、この設定だと置換前の文字列を置換対象として認識しません。(検索対象としても)
\r\n だけだと改行コードを認識するので、文字と改行コードのセットを認識していないようです。

指定に誤りがあるのでしょうか。詳しい方ご教授お願いします。

Aベストアンサー

>「9」とそれに続く改行コードのみ置換(削除)
最後に「9」がある文字列の「9」を削除したいことでしょうか?

1あいうえお9 → 1あいうえお
9かきくけこ7 → 9かきくけこ7
さしすせそ999 → さしすせそ99

置換ダイアログの正規表現にチェックを入れます。

最後に「9」+改行コードのみ置換なら
置換前「9\r\n」
置換後「\r\n」

最後に「9」+改行コードがある行を削除するなら
置換前「^.*9\r\n」
置換後「」(空欄)

QLinuxのSAMBAがIPアドレスを認識しません・・・

Linuxを最近初めて使い始めたのですが、
書籍(はじめてのRedHatLinux8 SOFTBANK社)
の通りに、SAMBAをインストールして
設定したのですが、相手のWinodws2000が認識しません。

確認のため、STATUSとかいうPAGEで、Restartsmbd
とRestartnmbdを押して再起動させたんですが、
表示された情報欄のIPアドレスの項目が
「0.0.0.0」です。ルーター等のネットワークを
どうも認識していないようなんですが、
どういう理由が考えられますでしょうか?
何卒、アドバイスのほどをお願い致します。

Aベストアンサー

> Win2000/NTの場合、暗号化問題があると聞いたんですが。

「聞いたんですが」という前に,先にご紹介したURLはお読みになったのでしょうか?

日本Sambaユーザー会
http://www.samba.gr.jp/

→ 「ドキュメント」 http://www.samba.gr.jp/doc/
→ 「Windows98 , WindowsNT4.0 , Windows2000からSambaを使用するときの注意事項(暗号化パスワード問題)」 http://www.samba.gr.jp/doc/encrypt-passwd.html

それでもだめな場合は,「smb.confを提示して」 「正確なエラーの内容を記述して」,再度補足してください.

QLinux環境 grepで改行コード(CRLF、LF)を検索できないで

Linux環境 grepで改行コード(CRLF、LF)を検索できないでしょうか?
grep '\t\n' aaa.txtとしても、「\」はエスケープしてしまいます。
検索方法、grep以外でもご存知の方いらっしゃいましたらご教示いただけたら幸いです。

Aベストアンサー

GNU grep 2.5.4 だと、実験的なものだとかかれていますが
-P オプションで perl の正規表現が使えます。

それを使えば

grep -P '\r\n' aaa.txt
で CRLF を持つ行を抽出できます。

他の方が書かれているように CR は \t ではなく、
\r です。

QWinのファイルをLinuxに転送するには?

自宅LAN内で WindowsXP → RedHatLinux8.0 にファイルを転送しようと思っています。LinuxにはFTPサーバーを設置し、FFFTPを使用し接続は出来たのですが、Linux側にファイルを転送すると以下のエラーがかえってきます。

553 Could not create file.

バイナリー・アスキーモード両方試したのですが、だめでした。元のファイルは普通のhtmlファイルです。アドバイスお願いします。

Aベストアンサー

試しに、Linuxにあるディレクトリー(例:tmp)を作って、
chmod 777 tmp でだれも書き込みできる権限を設定して、
tmpにファイルを伝送してください。
 終わったら、お忘れなく、セキュリティーのため、
tmpを消してください。

Q改行コードの変換と削除

改行コード変換メソッドで$dataには配列形式のデータが入ります。
public function v_line($val, $arr = false)
{
$line = '';
if(is_array($val)){
return array_map(array($this, 'v_line'), $val);
}

return str_replace(array("\r", "\n"), $line, $val);
}

//メソッド実行
$this->v_line($data);

この結果全ての改行コードが削除されます。これを特定のキーのみ削除ではなく"\n"に
統一させるように変換したいのですがどのようにすればできますでしょうか?

//改行コード削除しないキー配列
$arr = array('comment01', 'comment02');
//$arrのキーのみ改行コードを変換しその他は改行コード削除
$this->v_line($data, $arr);

改行コード変換メソッドで$dataには配列形式のデータが入ります。
public function v_line($val, $arr = false)
{
$line = '';
if(is_array($val)){
return array_map(array($this, 'v_line'), $val);
}

return str_replace(array("\r", "\n"), $line, $val);
}

//メソッド実行
$this->v_line($data);

この結果全ての改行コードが削除されます。これを特定のキーのみ削除ではなく"\n"に
統一させるように変換したいのですがどのようにすればで...続きを読む

Aベストアンサー

function v_line($val, $arr, $line=""){
$ret = array();
if(!is_array($val)){
return str_replace(array("\r\n", "\r", "\n"), $line, $val);
}else{
foreach($val as $key=>$value){
if(in_array($key, $arr)){
$ret[$key] = v_line($value, $arr, "\n");
}else{
$ret[$key] = v_line($value, $arr);
}
}
return $ret;
}
}

こんな感じでしょうか。

QRedhat7.3にSambaの設定し終わった後、WinXPエクスプローラよりのぞきにいくがアクセスできず

Redhat7.3にSambaの設定し終わった後、WinXPエクスプローラよりのぞきにいくとなぜかアクセスできません。(ホスト名の表示はされていてダブルクリックするとおこられる)
エラーメッセージは「ネットワークリソースを使用するアクセス許可がない可能性があります。」です。
ネットワークの設定、もしくはSamba側の設定でこれが怪しそうだなと検討つくかた、ご教授お願いします。

--------------------「/etc/samba/smb.conf」の設定-------------------
[global]
workgroup = Ncc
server string = Samba Server[%h-%v]
hosts allow = 192.168.100. 192.168.27.
printcap name = /etc/printcap
load printers = yes
printing = lprng
log file = /var/log/samba/%m.log
max log size = 0
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*aut
hentication*tokens*updated*successfully*
pam password change = yes
obey pam restrictions = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no

[public]
comment = Public Space for Everyone
path = /usr/public
read only = No
force create mode = 0777
force directory mode = 0777
guest only = Yes
guest ok = Yes

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes

Redhat7.3にSambaの設定し終わった後、WinXPエクスプローラよりのぞきにいくとなぜかアクセスできません。(ホスト名の表示はされていてダブルクリックするとおこられる)
エラーメッセージは「ネットワークリソースを使用するアクセス許可がない可能性があります。」です。
ネットワークの設定、もしくはSamba側の設定でこれが怪しそうだなと検討つくかた、ご教授お願いします。

--------------------「/etc/samba/smb.conf」の設定-------------------
[global]
workgroup = Ncc
server string = ...続きを読む

Aベストアンサー

>windows側のユーザー名(ログオンユーザー名)をlinux
>側にも追加しないといけないのですか?それはしていま
>せん。

上のsmb.confだとしなきゃならんでしょう。

# Linuxのユーザとして追加した上で、smbpasswdにて
# sambaのユーザとしても追加する手順。

参考URLの、「Sambaインストールガイド」あたりから
始められるのがよろしいかと。

参考URL:http://www.samba.gr.jp/doc/

Q改行コード

SQL文について教えていただきたいことがあります。
ある列に改行コードを含む文字列があります、
その文字列をまず改行コード毎に分割します、
その後に文字列の最後にある改行コードを消してしまいたいのですがどうすればよろしいでしょうか?みなさま宜しくお願い致します。

例)○=改行コード
ABCD○ABCDE○ABC○

ABCD○
ABCDE○
ABC○

ABCD
ABCDE
ABC

Aベストアンサー

まず、前提条件として'ABCD○ABCDE○ABC○'の改行マークの位置が固定位置であれば可能です。

takoponさんの回答にある様にSUBSTRを利用します。例えば改行マーク位置が5文字目/11文字目/15文字目という風に固定位置だと仮定すれば

SELECT SUBSTR(Mark,1,4),SUBSTR(Mark,6,10),SUBSTR(Mark,12,3) into moji1,moji2,moji3
FROM ~

ちなみにMarkとう項目に'ABCD○ABCDE○ABC○'が設定されていて、分割後の変数がmoji1~moji3となります。
ということでINTO文でやれると思います。

文字列改行マーク位置が不定の場合はSQL文1回での処理は不可能なので、takoponさんのご指摘の通りPL/SQLであればFECH文を作成して項目単位での処理を行ってください。
VB,VBAであればレコードセットもしくはoo40でのリザルトセットを作成して回してください。

QRed Hat Linux 8.0とWinXPマルチブート挑戦中

なのですが、行き詰っています。
HDは内蔵1台で、初期状態はNTFSでCとD2つのパーティションに分かれていたのですが、「システムコマンダー」というパーティションツールで、
・NTFS 8.37GB
・LinuxSwap 996MB
・Ext3 1.95GB
・残りの15GBは拡張領域(NTFS)
と設定し、Red Hatのインストールを始めましたが、/ がExt3に作成できず、行き詰ってしまいました。
1.Ext3領域をもっと前の方に作らなくてはいけないのでしょうか。
2.領域不足でしょうか。
3.最初のNTFS領域がかなり埋まっている為、Swap含めて全て拡張領域に作成しなおしても、マルチブートOSとして使用できるでしょうか。
アドバイスお願いします。

Aベストアンサー

とりあえず、64M程度のパーティションを、ディスクの先頭から
8GB以内(1024シリンダ以内)に作成して、インストール時に/bootにマウント指定してみてください。


人気Q&Aランキング

おすすめ情報