已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
6天前关闭。
Improve this questioniconv: illegal input sequence at position 0
如果我有一个用希伯来语编写的字符串,但键盘布局是英文,我希望脚本返回相同的字符串,但键盘布局是希伯来语。
我是一个新的bash用户,所以这可能是一个愚蠢的问题,但我真的找不到答案。
#!/bin/bash
read -p "Give me a word: " word
echo "$word" | iconv -t cp1255 | tr $(echo "[/'\קראטוןםפ\]\[שדגכעיחלךף,\זסבהנמצתץ./'\קראטוןםפ}{שדגכעיחלך:\"|זסבהנמצ><?@#$^&~\]" | iconv -t cp1255) "[qwertyuiop\[\]asdfghjkl;'\\zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:\"|ZXCVBNM<>?@#$^&~\`]"
echo "$word" | tr "[qwertyuiop\[\]asdfghjkl;'\\zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:\"|ZXCVBNM<>?@#$^&~\`]" $(echo "[/'\קראטוןםפ\]\[שדגכעיחלךף,\זסבהנמצתץ./'\קראטוןםפ}{שדגכעיחלך:\"|זסבהנמצ><?@#$^&~\]"| iconv -t cp1255) | iconv -t cp1255
1条答案
按热度按时间myss37ts1#
据我所知,您的问题只是一个简单的字符Map,其中一个集合中的每个字符都应该替换为第二个集合中的字符。
tr
(遗憾的是)不支持多字节字符,也不支持区域设置。GNU sed支持Unicode。使用
y
命令,您可以在字符之间转换: