Привет, я решил свою проблему, я искал alot, и я понял, что некоторые процессоры cpu не работают нормально с 64-битными операциями, и моя проблема в том, что мой os был ubuntu 64 бит 12.10, а вчера вечером я установил ubuntu 12.10 32 бит и это действительно потрясающе ...
Надеюсь, что этот ответ был полезен для кого-то, что у них тоже есть эта проблема.!
sed -e 's/^ //g' -e 's/,//g' file.txt
Объяснение:
Первый скрипт (s/^ //g) должен заменить все ведущее пространство ничем (удалить). Второй скрипт (s/,//g) должен заменить все запятые ничем (удалить).
У Bash есть способ использовать структуру while IFS= read -r ; do . . . done < input.txt для печати точного содержимого файла, но одна из особенностей здесь заключается в том, что если вы опустите IFS=, ведущие пробелы не будут прочитаны. Таким образом, мы можем сделать следующее:
$ cat input.txt
Text
$ while read -r line; do printf "%s\n" "$line"; done < input.txt
Text
И чтобы заменить текст исходного файла, можно немного изменить команду:
$ cat input.txt
Text
$ while read -r line; do printf "%s\n" "$line"; done < input.txt > temp.txt ; mv temp.txt input.txt
$ cat input.txt
Text
Мы также можем используйте расширение параметра для удаления запятых
$ cat input.txt
Text, text,
$ while read -r line; do printf "%s\n" "${line//,}"; done < input.txt
Text text
tr -s" " также можно моделировать, слегка изменив printf
$ cat input.txt
Text, text,
$ while read -r line; do printf "%s " ${line//,};printf "\n"; done < input.txt
Text text