как заменить char другим в шестнадцатеричном формате

Я новый пользователь, использующий мейнфрейм, у меня есть файл, и мне нужно изменить все точки '.' в файле с пробелом, я пытался написать этот оператор по команде

change X'05' X'40' all  

после того, как я преобразовал файл в шестнадцатеричный, но он не работает. Как я могу изменить все точки с пробелом в файле, пожалуйста, простым способом?


person M..    schedule 14.11.2017    source источник
comment
У вас будет больше шансов на суперпользователя   -  person Toto    schedule 14.11.2017


Ответы (2)


Точки — это неотображаемые символы. Вы можете сопоставить их, используя строки изображений в редакторе ISPF (это то, что я предполагаю, что вы пытаетесь использовать для редактирования файла?)

Попробуйте команду

change p'.' ' ' all

Часть «p'.'» будет соответствовать любому неотображаемому символу и заменит его пробелом.

person Hans Kilian    schedule 14.11.2017

Ответ Ганса выше обязательно изменит любой неотображаемый символ на пробел. Однако вам нужно убедиться, что вы действительно хотите заменить все неотображаемые символы на пробел. Включите HEX, чтобы просмотреть фактические данные. Затем вы можете сделать F p '.' чтобы найти неотображаемый символ(ы) перед его изменением. Обзор показывает неотображаемые символы в виде точки. Однако Edit заменит значение атрибутом для целей отображения, и это не позволит вам вводить данные. Вам нужно включить режим HEX, чтобы вручную изменить неотображаемое значение, или использовать команду «Изменить», как вы пытались. Обычно любое шестнадцатеричное значение от x'00' до x'3F' не отображается. Итак,

С П'.' X'40' ВСЕ

изменит каждое из этих значений на пробел. Это может быть или не быть желательным в зависимости от файла.

person Marv Knight    schedule 15.11.2017